diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index 300a639a69..7fdc9f1943 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: 2021-05-17 10:46+0000\n"
-"PO-Revision-Date: 2021-05-17 10:47\n"
+"POT-Creation-Date: 2021-05-29 07:28+0000\n"
+"PO-Revision-Date: 2021-05-28 04:02\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -33,42 +33,42 @@ msgstr "Keine passende Aktion gefunden"
msgid "Enter date"
msgstr "Datum eingeben"
-#: InvenTree/forms.py:110 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "Bestätigen"
-#: InvenTree/forms.py:126
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr "Löschung bestätigen"
-#: InvenTree/forms.py:127
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr "Löschung von Position bestätigen"
-#: InvenTree/forms.py:159 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr "Passwort eingeben"
-#: InvenTree/forms.py:160
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr "Neues Passwort eingeben"
-#: InvenTree/forms.py:167
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "Passwort wiederholen"
-#: InvenTree/forms.py:168
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "Neues Passwort bestätigen"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr "Thema anwenden"
-#: InvenTree/forms.py:233
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr "Kategorie auswählen"
@@ -122,9 +122,9 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Datei-Kommentar"
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1946
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1146
+#: templates/js/stock.js:1151
msgid "User"
msgstr "Benutzer"
@@ -133,7 +133,7 @@ msgid "upload date"
msgstr "Hochladedatum"
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:102
-#: part/models.py:686 part/models.py:2087 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/part.js:110
#: templates/js/part.js:553 templates/js/stock.js:944
@@ -171,23 +171,23 @@ msgstr "Beschreibung (optional)"
msgid "parent"
msgstr "Eltern"
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr "Englisch"
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr "Französisch"
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr "Deutsch"
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr "Polnisch"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr "Türkisch"
@@ -232,7 +232,7 @@ msgid "Returned"
msgstr "Zurückgegeben"
#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:124
+#: order/templates/order/sales_order_base.html:126
msgid "Shipped"
msgstr "Versendet"
@@ -372,27 +372,27 @@ msgstr "Überschuss darf 100% nicht überschreiten"
msgid "Overage must be an integer value or a percentage"
msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein"
-#: InvenTree/views.py:587
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr "Element löschen"
-#: InvenTree/views.py:636
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr "Häkchen setzen um Löschung von Objekt zu bestätigen"
-#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr "Benutzerinformationen bearbeiten"
-#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr "Passwort eingeben"
-#: InvenTree/views.py:681
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr "Passwörter stimmen nicht überein"
-#: InvenTree/views.py:887 templates/navbar.html:95
+#: InvenTree/views.py:937 templates/navbar.html:95
msgid "System Information"
msgstr "Systeminformationen"
@@ -444,10 +444,10 @@ msgstr "Bauauftrags-Referenz"
msgid "Order target date"
msgstr "geplantes Bestelldatum"
-#: build/forms.py:42 build/templates/build/build_base.html:136
+#: build/forms.py:42 build/templates/build/build_base.html:146
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:117
+#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
@@ -461,8 +461,8 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung."
#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1245
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:123
-#: build/templates/build/detail.html:31 common/models.py:705
+#: build/templates/build/build_base.html:133
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -473,20 +473,22 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung."
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:162
#: order/templates/order/sales_order_detail.html:230 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2216
+#: part/forms.py:371 part/forms.py:387 part/models.py:2269
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
-#: part/templates/part/part_pricing.html:13
+#: part/templates/part/order_prices.html:175
+#: part/templates/part/part_pricing.html:12
#: part/templates/part/sale_prices.html:85
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
#: stock/forms.py:175 stock/forms.py:308
-#: stock/templates/stock/item_base.html:250
+#: stock/templates/stock/item_base.html:255
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
-#: templates/js/stock.js:1131 templates/js/stock.js:1393
+#: templates/js/part.js:717 templates/js/stock.js:1136
+#: templates/js/stock.js:1398
msgid "Quantity"
msgstr "Anzahl"
@@ -528,11 +530,11 @@ msgstr "Bauauftrag als vollständig markieren"
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
-#: stock/templates/stock/item_base.html:280
+#: stock/templates/stock/item_base.html:285
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:490
-#: templates/js/stock.js:641 templates/js/stock.js:1023
+#: templates/js/stock.js:641 templates/js/stock.js:1028
msgid "Location"
msgstr "Lagerort"
@@ -540,14 +542,14 @@ msgstr "Lagerort"
msgid "Location of completed parts"
msgstr "Lagerort der Endprodukte"
-#: build/forms.py:215 build/templates/build/build_base.html:128
+#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:59 order/models.py:466
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:398 templates/InvenTree/search.html:252
+#: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:770
#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1100
-#: templates/js/stock.js:1401
+#: templates/js/stock.js:628 templates/js/stock.js:1105
+#: templates/js/stock.js:1406
msgid "Status"
msgstr "Status"
@@ -580,7 +582,7 @@ msgid "Select quantity of stock to allocate"
msgstr "Menge der BestandsObjekte für Zuordnung auswählen"
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:63
+#: build/templates/build/build_base.html:73
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -592,7 +594,7 @@ msgstr "Bauauftrag"
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr "Bauaufträge"
@@ -602,7 +604,7 @@ msgstr "Bauauftragsreferenz"
#: build/models.py:127 order/models.py:99 order/models.py:616
#: order/templates/order/purchase_order_detail.html:170
-#: order/templates/order/sales_order_detail.html:225 part/models.py:2225
+#: order/templates/order/sales_order_detail.html:225 part/models.py:2278
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
#: templates/js/build.js:565 templates/js/build.js:1008
@@ -613,7 +615,7 @@ msgstr "Referenz"
msgid "Brief description of the build"
msgstr "Kurze Beschreibung des Baus"
-#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/models.py:146 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr "Eltern-Bauauftrag"
@@ -623,17 +625,17 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:128
#: build/templates/build/detail.html:26 company/models.py:622
#: order/models.py:658 order/models.py:691
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:131
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:213 part/models.py:321
-#: part/models.py:1914 part/models.py:1926 part/models.py:1944
-#: part/models.py:2019 part/models.py:2115 part/models.py:2200
+#: part/models.py:1967 part/models.py:1979 part/models.py:1997
+#: part/models.py:2072 part/models.py:2168 part/models.py:2253
#: part/templates/part/part_app_base.html:8
-#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29
+#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
@@ -643,7 +645,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
-#: templates/js/stock.js:1465
+#: templates/js/stock.js:1470
msgid "Part"
msgstr "Teil"
@@ -691,7 +693,7 @@ msgstr "Fertiggestellte Teile"
msgid "Number of stock items which have been completed"
msgstr "Anzahl der fertigen BestandsObjekte"
-#: build/models.py:204 part/templates/part/part_base.html:160
+#: build/models.py:204 part/templates/part/part_base.html:167
msgid "Build Status"
msgstr "Bauauftrags-Status"
@@ -732,10 +734,10 @@ msgstr "Aufgegeben von"
msgid "User who issued this build order"
msgstr "Nutzer der diesen Bauauftrag erstellt hat"
-#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/models.py:250 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: order/templates/order/sales_order_base.html:140 part/models.py:886
#: report/templates/report/inventree_build_order_base.html:159
msgid "Responsible"
msgstr "Verantwortlicher Benutzer"
@@ -749,8 +751,8 @@ msgstr "Nutzer der für diesen Bauauftrag zuständig ist"
#: company/templates/company/manufacturer_part_detail.html:28
#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
-#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
-#: stock/models.py:458 stock/templates/stock/item_base.html:340
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:94
+#: stock/models.py:458 stock/templates/stock/item_base.html:345
msgid "External Link"
msgstr "Externer Link"
@@ -768,12 +770,12 @@ msgstr "Link zu einer externen URL"
#: order/templates/order/sales_order_detail.html:278
#: order/templates/order/so_navbar.html:33
#: order/templates/order/so_navbar.html:36 part/models.py:871
-#: part/templates/part/navbar.html:128
+#: part/templates/part/navbar.html:134
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+#: templates/js/bom.js:349 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
msgstr "Notizen"
@@ -823,7 +825,7 @@ msgstr "Reserviermenge muss größer null sein"
msgid "Quantity must be 1 for serialized stock"
msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein"
-#: build/models.py:1224 stock/templates/stock/item_base.html:312
+#: build/models.py:1224 stock/templates/stock/item_base.html:317
#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
@@ -838,10 +840,10 @@ msgstr "Bauauftrag starten um Teile zuzuweisen"
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/item_base.html:334
+#: stock/templates/stock/item_base.html:31
+#: stock/templates/stock/item_base.html:339
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
-#: templates/js/stock.js:1082 templates/js/stock.js:1384
+#: templates/js/stock.js:1087 templates/js/stock.js:1389
msgid "Stock Item"
msgstr "BestandsObjekt"
@@ -913,7 +915,7 @@ msgstr "Dieser Bauauftrag hat keine zugeordneten Stücklisten-Einträge"
#: order/templates/order/sales_order_detail.html:75
#: order/templates/order/sales_order_detail.html:160
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:452 stock/templates/stock/item_base.html:244
+#: stock/models.py:452 stock/templates/stock/item_base.html:249
#: templates/js/build.js:474
msgid "Serial Number"
msgstr "Seriennummer"
@@ -921,8 +923,8 @@ msgstr "Seriennummer"
#: build/templates/build/attachments.html:12
#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
-#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
-#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:125
+#: part/templates/part/navbar.html:128 stock/templates/stock/navbar.html:47
#: stock/templates/stock/navbar.html:50
msgid "Attachments"
msgstr "Anhänge"
@@ -943,119 +945,119 @@ msgstr "Keine BestandsObjekte gefunden, die diesem Endprodukt automatisch zugewi
msgid "Stock items will have to be manually allocated"
msgstr "BestandsObjekte müssen manuell zugewiesen werden"
-#: build/templates/build/build_base.html:16
+#: build/templates/build/build_base.html:18
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr "Dieser Bauauftrag ist dem Auftrag %(link)s zugeordnet"
-#: build/templates/build/build_base.html:22
+#: build/templates/build/build_base.html:25
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr "Dieser Bauauftrag ist dem Bauauftrag %(link)s untergeordnet"
-#: build/templates/build/build_base.html:31
+#: build/templates/build/build_base.html:32
msgid "Build Order is ready to mark as completed"
msgstr "Bauauftrag ist bereit abgeschlossen zu werden"
-#: build/templates/build/build_base.html:36
+#: build/templates/build/build_base.html:37
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr "Bauauftrag kann nicht abgeschlossen werden, da es noch ausstehende Endprodukte gibt"
-#: build/templates/build/build_base.html:41
+#: build/templates/build/build_base.html:42
msgid "Required build quantity has not yet been completed"
msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
-#: build/templates/build/build_base.html:46
+#: build/templates/build/build_base.html:47
msgid "Stock has not been fully allocated to this Build Order"
msgstr "Lagerbestand wurde Bauauftrag noch nicht vollständig zugewiesen"
-#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:75
#: company/templates/company/company_base.html:40
#: company/templates/company/manufacturer_part_base.html:25
#: company/templates/company/supplier_part_base.html:26
#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:124
+#: order/templates/order/sales_order_base.html:37
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:22
+#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
msgstr "Admin"
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:81
+#: build/templates/build/build_base.html:150
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:41
-#: order/templates/order/sales_order_base.html:86
+#: order/templates/order/sales_order_base.html:43
+#: order/templates/order/sales_order_base.html:88
#: templates/js/table_filters.js:241 templates/js/table_filters.js:260
#: templates/js/table_filters.js:277
msgid "Overdue"
msgstr "Überfällig"
-#: build/templates/build/build_base.html:80
+#: build/templates/build/build_base.html:90
msgid "Print actions"
msgstr "Aktionen drucken"
-#: build/templates/build/build_base.html:84
+#: build/templates/build/build_base.html:94
msgid "Print Build Order"
msgstr "Bauauftrag drucken"
-#: build/templates/build/build_base.html:90
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:100
+#: build/templates/build/build_base.html:225
msgid "Complete Build"
msgstr "Bauauftrag fertigstellen"
-#: build/templates/build/build_base.html:95
+#: build/templates/build/build_base.html:105
msgid "Build actions"
msgstr "Bau-Auftrag Aktionen"
-#: build/templates/build/build_base.html:99
+#: build/templates/build/build_base.html:109
msgid "Edit Build"
msgstr "Bauauftrag bearbeiten"
-#: build/templates/build/build_base.html:101
-#: build/templates/build/build_base.html:199 build/views.py:57
+#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:209 build/views.py:57
msgid "Cancel Build"
msgstr "Bauauftrag abbrechen"
-#: build/templates/build/build_base.html:114
+#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr "Bau-Status"
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:150
#, python-format
msgid "This build was due on %(target)s"
msgstr "Bauauftrag war fällig am %(target)s"
-#: build/templates/build/build_base.html:147
+#: build/templates/build/build_base.html:157
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr "Fortschritt"
-#: build/templates/build/build_base.html:160
+#: build/templates/build/build_base.html:170
#: build/templates/build/detail.html:84 order/models.py:689
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_base.html:35
#: order/templates/order/sales_order_ship.html:25
#: part/templates/part/allocation.html:30
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:274 templates/js/order.js:245
+#: stock/templates/stock/item_base.html:279 templates/js/order.js:245
msgid "Sales Order"
msgstr "Auftrag"
-#: build/templates/build/build_base.html:167
+#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr "Aufgegeben von"
-#: build/templates/build/build_base.html:207
+#: build/templates/build/build_base.html:217
msgid "Incomplete Outputs"
msgstr "Unfertige Endprodukte"
-#: build/templates/build/build_base.html:208
+#: build/templates/build/build_base.html:218
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr "Bauauftrag kann nicht abgeschlossen werden, da es noch unvollständige Endprodukte gibt"
@@ -1191,15 +1193,15 @@ msgid "Destination location not specified"
msgstr "Ziel-Lagerort nicht angegeben"
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:298 templates/js/stock.js:636
-#: templates/js/stock.js:1408 templates/js/table_filters.js:108
+#: stock/templates/stock/item_base.html:303 templates/js/stock.js:636
+#: templates/js/stock.js:1413 templates/js/table_filters.js:108
#: templates/js/table_filters.js:202
msgid "Batch"
msgstr "Losnummer"
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+#: order/templates/order/sales_order_base.html:113 templates/js/build.js:778
msgid "Created"
msgstr "Erstellt"
@@ -1282,8 +1284,8 @@ msgstr "Bermerkungen bearbeiten"
#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
#: order/templates/order/order_notes.html:27
#: order/templates/order/sales_order_notes.html:29
-#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:477
-#: stock/templates/stock/item_base.html:487
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:482
+#: stock/templates/stock/item_base.html:492
#: stock/templates/stock/item_notes.html:26
msgid "Save"
msgstr "Speichern"
@@ -1429,7 +1431,7 @@ msgstr "Bauobjekt aktualisiert"
msgid "Add Build Order Attachment"
msgstr "Bauauftrags-Anhang hinzufügen"
-#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:172
+#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:173
#: stock/views.py:277
msgid "Added attachment"
msgstr "Anhang hinzugefügt"
@@ -1466,368 +1468,360 @@ msgstr "Fehler beim Lesen der Datei (falsche Größe)"
msgid "Error reading file (data could be corrupted)"
msgstr "Fehler beim Lesen der Datei (Daten könnten beschädigt sein)"
-#: common/forms.py:38 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr "Datei"
-#: common/forms.py:39
+#: common/forms.py:40
msgid "Select file to upload"
msgstr "Datei zum Hochladen auswählen"
-#: common/forms.py:54
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr "{name.title()} Datei"
-#: common/forms.py:55
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr "{name} Datei zum Hochladen auswählen"
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr "InvenTree Instanzname"
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr "Kurze Beschreibung der Instanz"
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr "Name der Instanz verwenden"
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr "Den Namen der Instanz in der Titelleiste verwenden"
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr "Firmenname"
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr "interner Firmenname"
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr "Basis-URL"
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr "Basis-URL für dieses Instanz"
-#: common/models.py:84
-msgid "Default Currency"
-msgstr "Standard-Währung"
-
#: common/models.py:85
-msgid "Default currency"
-msgstr "Standard-Währung"
-
-#: common/models.py:91
msgid "Download from URL"
msgstr "Von URL herunterladen"
-#: common/models.py:92
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt"
-#: common/models.py:98
+#: common/models.py:92
msgid "Barcode Support"
msgstr "Bacode-Feature verwenden"
-#: common/models.py:99
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr "Barcode-Scanner Unterstützung"
-#: common/models.py:105
+#: common/models.py:99
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/models.py:106
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr "RegEx Muster für die Zuordnung von Teil-IPN"
-#: common/models.py:110
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:111
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:117
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr "Ändern von IPN erlaubt"
-#: common/models.py:118
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt"
-#: common/models.py:124
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr "Teil-Stückliste kopieren"
-#: common/models.py:125
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird "
-#: common/models.py:131
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr "Teil-Parameter kopieren"
-#: common/models.py:132
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:138
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr "Teil-Testdaten kopieren"
-#: common/models.py:139
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:145
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr "Kategorie-Parametervorlage kopieren"
-#: common/models.py:146
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:152
+#: common/models.py:146
msgid "Recent Part Count"
msgstr "Aktuelle Teile-Stände"
-#: common/models.py:153
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr "Anzahl der neusten Teile auf der Startseite"
-#: common/models.py:159 part/models.py:2117 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr "Vorlage"
-#: common/models.py:160
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/models.py:166 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr "Baugruppe"
-#: common/models.py:167
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/models.py:173 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr "Komponente"
-#: common/models.py:174
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/models.py:180 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr "Kaufbar"
-#: common/models.py:181
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/models.py:187 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr "Verkäuflich"
-#: common/models.py:188
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/models.py:194 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr "Nachverfolgbar"
-#: common/models.py:195
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/models.py:201 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr "Virtuell"
-#: common/models.py:202
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr "Teile sind grundsätzlich virtuell"
-#: common/models.py:208
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr "zeige Bestand in Eingabemasken"
-#: common/models.py:209
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken"
-#: common/models.py:215 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr "Entwickler-Modus"
-#: common/models.py:216
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
-#: common/models.py:222
+#: common/models.py:216
msgid "Page Size"
msgstr "Seitengröße"
-#: common/models.py:223
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr "Standardseitenformat für PDF-Bericht"
-#: common/models.py:233
+#: common/models.py:227
msgid "Test Reports"
msgstr "Test-Berichte"
-#: common/models.py:234
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr "Erstellung von Test-Berichten aktivieren"
-#: common/models.py:240
+#: common/models.py:234
msgid "Stock Expiry"
msgstr "Bestands-Ablauf"
-#: common/models.py:241
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr "Ablaufen von Bestand ermöglichen"
-#: common/models.py:247
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr "Abgelaufenen Bestand verkaufen"
-#: common/models.py:248
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr "Verkauf von abgelaufenem Bestand erlaubt"
-#: common/models.py:254
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr "Bestands-Stehzeit"
-#: common/models.py:255
+#: common/models.py:249
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:257 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr "Tage"
-#: common/models.py:262
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr "Abgelaufenen Bestand verbauen"
-#: common/models.py:263
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr "Verbauen von abgelaufenen Bestand erlaubt"
-#: common/models.py:269
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr "Bestands-Eigentümerkontrolle"
-#: common/models.py:270
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren"
-#: common/models.py:276
+#: common/models.py:270
msgid "Group by Part"
msgstr "Gruppieren nach Teil"
-#: common/models.py:277
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr "Bestand in Tabellen anhand von Teil-Referenz gruppieren"
-#: common/models.py:283
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr "aktueller Bestand"
-#: common/models.py:284
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr "Anzahl des geänderten Bestands auf der Startseite"
-#: common/models.py:290
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr "Bauauftrag-Referenz Präfix"
-#: common/models.py:291
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr "Präfix für Bauauftrag-Referenz"
-#: common/models.py:296
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr "Bauauftrag-Referenz RegEx"
-#: common/models.py:297
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen"
-#: common/models.py:301
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr "Auftrags-Referenz Präfix"
-#: common/models.py:302
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr "Präfix für Auftrags-Referenz"
-#: common/models.py:307
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr "Bestellungs-Referenz Präfix"
-#: common/models.py:308
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr "Präfix für Bestellungs-Referenz"
-#: common/models.py:531
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:533
+#: common/models.py:527
msgid "Settings value"
msgstr "Einstellungs-Wert"
-#: common/models.py:568
+#: common/models.py:562
msgid "Must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:591
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr "Wahrheitswert erforderlich"
-#: common/models.py:602
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:625
+#: common/models.py:619
msgid "Key string must be unique"
msgstr "Schlüsseltext muss eindeutig sein"
-#: common/models.py:706 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:714 company/templates/company/supplier_part_pricing.html:82
-#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:271
msgid "Price"
msgstr "Preis"
-#: common/models.py:715
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:804
+#: common/models.py:798
msgid "Default"
msgstr "Standard"
@@ -1882,7 +1876,7 @@ msgstr "URL"
msgid "Image URL"
msgstr "Bild-URL"
-#: company/forms.py:118
+#: company/forms.py:118 templates/js/part.js:708
msgid "Single Price"
msgstr "Einzelpreis"
@@ -1998,7 +1992,7 @@ msgid "Does this company manufacture parts?"
msgstr "Produziert diese Firma Teile?"
#: company/models.py:305 company/models.py:456 stock/models.py:405
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:235
msgid "Base Part"
msgstr "Basisteil"
@@ -2011,7 +2005,7 @@ msgstr "Teil auswählen"
#: company/templates/company/manufacturer_part_detail.html:25
#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:347
+#: part/bom.py:241 stock/templates/stock/item_base.html:352
#: templates/js/company.js:44 templates/js/company.js:165
#: templates/js/company.js:289
msgid "Manufacturer"
@@ -2030,7 +2024,7 @@ msgstr "Teilbeschreibung des Herstellers"
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:359
+#: part/bom.py:286 stock/templates/stock/item_base.html:364
#: templates/js/company.js:48 templates/js/company.js:263
#: templates/js/order.js:170
msgid "Supplier"
@@ -2054,7 +2048,7 @@ msgstr "Lagerbestandseinheit (SKU) des Zulieferers"
#: company/models.py:479
#: company/templates/company/manufacturer_part_base.html:6
#: company/templates/company/manufacturer_part_base.html:19
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:357
msgid "Manufacturer Part"
msgstr "Herstellerteil"
@@ -2071,7 +2065,7 @@ msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
#: company/models.py:497 company/templates/company/supplier_part_base.html:116
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2228
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2281
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -2086,7 +2080,7 @@ msgid "Minimum charge (e.g. stocking fee)"
msgstr "Mindestpreis"
#: company/models.py:503 company/templates/company/supplier_part_base.html:109
-#: stock/models.py:429 stock/templates/stock/item_base.html:305
+#: stock/models.py:429 stock/templates/stock/item_base.html:310
#: templates/js/stock.js:667
msgid "Packaging"
msgstr "Verpackungen"
@@ -2154,9 +2148,11 @@ msgstr "Sind Sie sicher, dass Sie die Firma '%(name)s' löschen wollen?"
#: company/templates/company/delete.html:12
#, python-format
-msgid "There are %(count)s parts sourced from this company.
\n"
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
"If this supplier is deleted, these supplier part entries will also be deleted."
-msgstr "Es gibt %(count)s Teile, die von diesem Unternehmen bezogen werden.
\n"
+msgstr ""
+"Es gibt %(count)s Teile, die von diesem Unternehmen bezogen werden.
\n"
"Wenn dieser Lieferant gelöscht wird, werden auch diese Zulieferer-Teile gelöscht."
#: company/templates/company/detail.html:21
@@ -2172,10 +2168,10 @@ msgid "Uses default currency"
msgstr "verwendet Standard-Währung"
#: company/templates/company/detail.html:67 order/models.py:461
-#: order/templates/order/sales_order_base.html:92 stock/models.py:447
-#: stock/models.py:448 stock/templates/stock/item_base.html:257
+#: order/templates/order/sales_order_base.html:94 stock/models.py:447
+#: stock/models.py:448 stock/templates/stock/item_base.html:262
#: templates/js/company.js:40 templates/js/order.js:267
-#: templates/js/stock.js:1064
+#: templates/js/stock.js:1069
msgid "Customer"
msgstr "Kunde"
@@ -2221,7 +2217,7 @@ msgstr "Teile löschen"
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1279
+#: templates/js/stock.js:1284
msgid "New Part"
msgstr "Neues Teil"
@@ -2268,7 +2264,7 @@ msgstr "Neues Zuliefererteil anlegen"
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:49
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1285
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1290
msgid "New Supplier Part"
msgstr "Neues Zuliefererteil"
@@ -2291,7 +2287,7 @@ msgstr "Zulieferer-Liste"
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
msgid "Order part"
msgstr "Teil bestellen"
@@ -2325,8 +2321,8 @@ msgid "There are %(count)s suppliers defined for this manufacturer part. If you
msgstr "Für dieses Herstellerteil sind %(count)s Lieferanten definiert. Wenn Sie es löschen, werden die folgenden Lieferantenteile ebenfalls gelöscht:"
#: company/templates/company/manufacturer_part_navbar.html:14
-#: company/views.py:63 part/templates/part/navbar.html:78
-#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: company/views.py:63 part/templates/part/navbar.html:84
+#: part/templates/part/navbar.html:87 templates/InvenTree/search.html:316
#: templates/navbar.html:35
msgid "Suppliers"
msgstr "Zulieferer"
@@ -2343,7 +2339,7 @@ msgstr "Herstellerteil-Bestand"
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr "Lagerbestand"
@@ -2401,10 +2397,10 @@ msgstr "Teilbestand"
#: company/templates/company/sales_orders.html:11
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
-#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/navbar.html:104 part/templates/part/navbar.html:107
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr "Aufträge"
@@ -2413,10 +2409,10 @@ msgstr "Aufträge"
#: company/templates/company/purchase_orders.html:10
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/navbar.html:90 part/templates/part/navbar.html:93
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr "Bestellungen"
@@ -2447,7 +2443,7 @@ msgstr "Neuer Auftrag"
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:414
-#: stock/templates/stock/item_base.html:364 templates/js/company.js:279
+#: stock/templates/stock/item_base.html:369 templates/js/company.js:279
msgid "Supplier Part"
msgstr "Zuliefererteil"
@@ -2496,7 +2492,7 @@ msgid "Pricing Information"
msgstr "Preisinformationen ansehen"
#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
-#: part/templates/part/sale_prices.html:17 part/views.py:2644
+#: part/templates/part/sale_prices.html:17 part/views.py:2733
msgid "Add Price Break"
msgstr "Preisstaffel hinzufügen"
@@ -2515,8 +2511,8 @@ msgstr "Preisstaffel bearbeiten"
msgid "Delete price break"
msgstr "Preisstaffel löschen"
-#: company/views.py:70 part/templates/part/navbar.html:72
-#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: company/views.py:70 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:306
#: templates/navbar.html:36
msgid "Manufacturers"
msgstr "Hersteller"
@@ -2538,20 +2534,20 @@ msgstr "Firmen"
msgid "New Company"
msgstr "Neue Firma"
-#: company/views.py:169 part/views.py:848
+#: company/views.py:169 part/views.py:937
msgid "Download Image"
msgstr "Bild herunterladen"
-#: company/views.py:198 part/views.py:880
+#: company/views.py:198 part/views.py:969
msgid "Image size exceeds maximum allowable size for download"
msgstr "Bildgröße überschreitet maximal-erlaubte Größe für Downloads"
-#: company/views.py:205 part/views.py:887
+#: company/views.py:205 part/views.py:976
#, python-brace-format
msgid "Invalid response: {code}"
msgstr "Ungültige Antwort {code}"
-#: company/views.py:214 part/views.py:896
+#: company/views.py:214 part/views.py:985
msgid "Supplied URL is not a valid image file"
msgstr "Angegebene URL ist kein gültiges Bild"
@@ -2603,7 +2599,7 @@ msgstr "Herstellerteil löschen"
msgid "Edit Supplier Part"
msgstr "Zuliefererteil bearbeiten"
-#: company/views.py:578 templates/js/stock.js:1286
+#: company/views.py:578 templates/js/stock.js:1291
msgid "Create new Supplier Part"
msgstr "Neues Zuliefererteil anlegen"
@@ -2611,15 +2607,15 @@ msgstr "Neues Zuliefererteil anlegen"
msgid "Delete Supplier Part"
msgstr "Zuliefererteil entfernen"
-#: company/views.py:799 part/views.py:2648
+#: company/views.py:799 part/views.py:2737
msgid "Added new price break"
msgstr "neue Preisstaffel hinzufügt"
-#: company/views.py:855 part/views.py:2692
+#: company/views.py:855 part/views.py:2781
msgid "Edit Price Break"
msgstr "Preisstaffel bearbeiten"
-#: company/views.py:870 part/views.py:2706
+#: company/views.py:870 part/views.py:2795
msgid "Delete Price Break"
msgstr "Preisstaffel löschen"
@@ -2693,11 +2689,11 @@ msgid "Mark order as complete"
msgstr "Bestellung als vollständig markieren"
#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
-#: order/templates/order/sales_order_base.html:59
+#: order/templates/order/sales_order_base.html:61
msgid "Cancel order"
msgstr "Bestellung stornieren"
-#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+#: order/forms.py:71 order/templates/order/sales_order_base.html:58
msgid "Ship order"
msgstr "Bestellung versenden"
@@ -2794,7 +2790,7 @@ msgstr "Geplantes Lieferdatum für Auftrag."
msgid "Date order was completed"
msgstr "Datum an dem der Auftrag fertigstellt wurde"
-#: order/models.py:243 part/views.py:1586 stock/models.py:302
+#: order/models.py:243 part/views.py:1675 stock/models.py:302
#: stock/models.py:1018
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
@@ -2860,8 +2856,8 @@ msgstr "Bestellung"
#: order/models.py:645 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:319 templates/js/order.js:148
-#: templates/js/stock.js:1045
+#: stock/templates/stock/item_base.html:324 templates/js/order.js:148
+#: templates/js/stock.js:1050
msgid "Purchase Order"
msgstr "Bestellung"
@@ -2872,7 +2868,7 @@ msgstr "Zuliefererteil"
#: order/models.py:662 order/templates/order/order_base.html:131
#: order/templates/order/purchase_order_detail.html:189
#: order/templates/order/receive_parts.html:22
-#: order/templates/order/sales_order_base.html:131
+#: order/templates/order/sales_order_base.html:133
msgid "Received"
msgstr "Empfangen"
@@ -2881,7 +2877,7 @@ msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
#: order/models.py:669 stock/models.py:540
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:331
msgid "Purchase Price"
msgstr "Preis"
@@ -2889,8 +2885,9 @@ msgstr "Preis"
msgid "Unit purchase price"
msgstr "Preis pro Einheit"
-#: order/models.py:698 part/templates/part/navbar.html:95
-#: part/templates/part/part_pricing.html:78
+#: order/models.py:698 part/templates/part/navbar.html:101
+#: part/templates/part/order_prices.html:82
+#: part/templates/part/part_pricing.html:77
msgid "Sale Price"
msgstr "Verkaufspreis"
@@ -2941,12 +2938,12 @@ msgid "Are you sure you want to delete this attachment?"
msgstr "Sind Sie sicher, dass Sie diesen Anhang löschen wollen?"
#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:48
+#: order/templates/order/sales_order_base.html:50
msgid "Print"
msgstr "Drucken"
#: order/templates/order/order_base.html:43
-#: order/templates/order/sales_order_base.html:52
+#: order/templates/order/sales_order_base.html:54
msgid "Edit order information"
msgstr "Bestellung bearbeiten"
@@ -2964,12 +2961,12 @@ msgid "Purchase Order Details"
msgstr "Bestellungs-Details"
#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:77
+#: order/templates/order/sales_order_base.html:79
msgid "Order Reference"
msgstr "Bestellreferenz"
#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:82
+#: order/templates/order/sales_order_base.html:84
msgid "Order Status"
msgstr "Bestellstatus"
@@ -2982,7 +2979,7 @@ msgstr "Aufgegeben"
#: order/templates/order/purchase_order_detail.html:100
#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1291
+#: templates/js/stock.js:1296
msgid "New Location"
msgstr "Neuer Lagerort"
@@ -3194,14 +3191,14 @@ msgstr "Berichte drucken"
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr "Ausstehende Teile für %(order)s - %(desc)s empfangen"
-#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: order/templates/order/receive_parts.html:14 part/api.py:45
#: part/models.py:322 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:99
#: part/templates/part/category_navbar.html:22
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -3216,7 +3213,7 @@ msgid "Order Code"
msgstr "Bestellnummer"
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:414
+#: part/templates/part/part_base.html:136 templates/js/part.js:414
msgid "On Order"
msgstr "Bestellt"
@@ -3232,20 +3229,20 @@ msgstr "Fehler: verknüpftes Teil wurde gelöscht"
msgid "Remove line"
msgstr "Position entfernen"
-#: order/templates/order/sales_order_base.html:15
-msgid "This SalesOrder has not been fully allocated"
+#: order/templates/order/sales_order_base.html:16
+msgid "This Sales Order has not been fully allocated"
msgstr "Dieser Auftrag ist nicht vollständig zugeordnet"
-#: order/templates/order/sales_order_base.html:64
+#: order/templates/order/sales_order_base.html:66
msgid "Packing List"
msgstr "Packliste"
-#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/sales_order_base.html:74
#: order/templates/order/so_navbar.html:12
msgid "Sales Order Details"
msgstr "Auftragsdetails"
-#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275
msgid "Customer Reference"
msgstr "Kundenreferenz"
@@ -3264,7 +3261,7 @@ msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar i
msgid "Sales Order Items"
msgstr "Auftrags-Positionen"
-#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:342
+#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358
#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr "Aktionen"
@@ -3559,7 +3556,7 @@ msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert"
msgid "Default Location"
msgstr "Standard-Lagerort"
-#: part/bom.py:139 part/templates/part/part_base.html:117
+#: part/bom.py:139 part/templates/part/part_base.html:124
msgid "Available Stock"
msgstr "Verfügbarer Lagerbestand"
@@ -3632,7 +3629,7 @@ msgstr "Zulieferer einschließen"
msgid "Include part supplier data in exported BOM"
msgstr "Zulieferer-Daten in Stückliste-Export einschließen"
-#: part/forms.py:122 part/models.py:2115
+#: part/forms.py:122 part/models.py:2168
msgid "Parent Part"
msgstr "Ausgangsteil"
@@ -3708,7 +3705,7 @@ msgstr "Parameter-Vorlage zu Kategorien dieser Ebene hinzufügen"
msgid "Add parameter template to all categories"
msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen"
-#: part/forms.py:344 part/models.py:2209
+#: part/forms.py:344 part/models.py:2262
msgid "Sub part"
msgstr "Untergeordnetes Teil"
@@ -3728,7 +3725,7 @@ msgstr "Standard Stichwörter"
msgid "Default keywords for parts in this category"
msgstr "Standard-Stichworte für Teile dieser Kategorie"
-#: part/models.py:82 part/models.py:2161
+#: part/models.py:82 part/models.py:2214
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Teil-Kategorie"
@@ -3798,7 +3795,7 @@ msgstr "Schlüsselwörter"
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:724 part/models.py:2160 part/templates/part/detail.html:73
+#: part/models.py:724 part/models.py:2213 part/templates/part/detail.html:73
#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr "Kategorie"
@@ -3808,7 +3805,7 @@ msgid "Part category"
msgstr "Teile-Kategorie"
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:161
+#: part/templates/part/part_base.html:87 templates/js/part.js:161
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
@@ -3853,7 +3850,7 @@ msgstr "Minimaler Lagerbestand"
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Lagerbestand"
-#: part/models.py:828 part/models.py:2089 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2142 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr "Einheiten"
@@ -3924,167 +3921,167 @@ msgstr "Erstellungs-Nutzer"
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:1987
+#: part/models.py:2040
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:2004
+#: part/models.py:2057
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:2024 templates/js/part.js:638 templates/js/stock.js:104
+#: part/models.py:2077 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:2025
+#: part/models.py:2078
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:2030
+#: part/models.py:2083
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:2031
+#: part/models.py:2084
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:2036 templates/js/part.js:647
+#: part/models.py:2089 templates/js/part.js:647
#: templates/js/table_filters.js:223
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:2037
+#: part/models.py:2090
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:2042 templates/js/part.js:655
+#: part/models.py:2095 templates/js/part.js:655
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:2043
+#: part/models.py:2096
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:2048 templates/js/part.js:662
+#: part/models.py:2101 templates/js/part.js:662
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:2049
+#: part/models.py:2102
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:2082
+#: part/models.py:2135
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:2087
+#: part/models.py:2140
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:2089
+#: part/models.py:2142
msgid "Parameter Units"
msgstr "Einheit des Parameters"
-#: part/models.py:2117 part/models.py:2166 part/models.py:2167
+#: part/models.py:2170 part/models.py:2219 part/models.py:2220
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Data"
msgstr "Wert"
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:2171 templates/InvenTree/settings/category.html:67
+#: part/models.py:2224 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:2172
+#: part/models.py:2225
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:2201
+#: part/models.py:2254
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:2210
+#: part/models.py:2263
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:2216
+#: part/models.py:2269
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:2218 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2271 templates/js/bom.js:216 templates/js/bom.js:285
msgid "Optional"
msgstr "Optional"
-#: part/models.py:2218
+#: part/models.py:2271
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:2221
+#: part/models.py:2274
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:2222
+#: part/models.py:2275
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:2225
+#: part/models.py:2278
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:2228
+#: part/models.py:2281
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:2230
+#: part/models.py:2283
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:2230
+#: part/models.py:2283
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:2234 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2287 templates/js/bom.js:295 templates/js/bom.js:302
#: templates/js/table_filters.js:51
msgid "Inherited"
msgstr "Geerbt"
-#: part/models.py:2235
+#: part/models.py:2288
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:2311 part/views.py:1592 part/views.py:1644
+#: part/models.py:2364 part/views.py:1681 part/views.py:1733
#: stock/models.py:292
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:2320 part/models.py:2322
+#: part/models.py:2373 part/models.py:2375
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:2325
+#: part/models.py:2378
msgid "BOM Item"
msgstr "Stücklisten-Position"
-#: part/models.py:2442
+#: part/models.py:2495
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:2478
+#: part/models.py:2531
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr "Fehler bei Verwandschaft: Ist das Teil mit sich selbst verwandt oder ist das die Verwandtschaft nicht eindeutig?"
@@ -4152,7 +4149,7 @@ msgstr "Stückliste bearbeiten"
msgid "Validate Bill of Materials"
msgstr "Stückliste kontrollieren"
-#: part/templates/part/bom.html:61 part/views.py:1887
+#: part/templates/part/bom.html:61 part/views.py:1976
msgid "Export Bill of Materials"
msgstr "Stückliste exportieren"
@@ -4168,8 +4165,8 @@ msgstr "Ausgewählte Stücklistenpositionen löschen?"
msgid "All selected BOM items will be deleted"
msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht"
-#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1280
+#: part/templates/part/bom.html:160 part/views.py:585
+#: templates/js/stock.js:1285
msgid "Create New Part"
msgstr "Neues Teil anlegen"
@@ -4250,7 +4247,7 @@ msgstr "Neuen Bauauftrag beginnen"
msgid "All parts"
msgstr "Alle Teile"
-#: part/templates/part/category.html:29 part/views.py:2290
+#: part/templates/part/category.html:29 part/views.py:2379
msgid "Create new part category"
msgstr "Teil-Kategorie anlegen"
@@ -4368,7 +4365,7 @@ msgstr "Parameter"
msgid "Part Parameters"
msgstr "Teilparameter"
-#: part/templates/part/copy_part.html:9 part/views.py:460
+#: part/templates/part/copy_part.html:9 part/views.py:461
msgid "Duplicate Part"
msgstr "Teil duplizieren"
@@ -4505,27 +4502,122 @@ msgstr "Zuweisungen"
msgid "Used In"
msgstr "Benutzt in"
-#: part/templates/part/navbar.html:92
+#: part/templates/part/navbar.html:72 part/templates/part/order_prices.html:12
+#, fuzzy
+#| msgid "Sell Price Information"
+msgid "Order Price Information"
+msgstr "Verkaufspreis Informationen"
+
+#: part/templates/part/navbar.html:75
+#, fuzzy
+#| msgid "Order Part"
+msgid "Order Price"
+msgstr "Teil bestellen"
+
+#: part/templates/part/navbar.html:98
msgid "Sales Price Information"
msgstr "Preisinformationen ansehen"
-#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+#: part/templates/part/navbar.html:112 part/templates/part/part_tests.html:10
msgid "Part Test Templates"
msgstr "Teil Test-Vorlagen"
-#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:404
+#: part/templates/part/navbar.html:115 stock/templates/stock/item_base.html:409
msgid "Tests"
msgstr "Tests"
-#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/navbar.html:119 part/templates/part/navbar.html:122
#: part/templates/part/related.html:10
msgid "Related Parts"
msgstr "Verknüpfte Teile"
-#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+#: part/templates/part/navbar.html:131 part/templates/part/notes.html:12
msgid "Part Notes"
msgstr "Teil-Bemerkungen"
+#: part/templates/part/order_prices.html:21
+#, fuzzy
+#| msgid "Pricing Information"
+msgid "Pricing ranges"
+msgstr "Preisinformationen ansehen"
+
+#: part/templates/part/order_prices.html:26
+#: part/templates/part/part_pricing.html:18
+msgid "Supplier Pricing"
+msgstr "Zulieferer-Preise"
+
+#: part/templates/part/order_prices.html:27
+#: part/templates/part/order_prices.html:52
+#: part/templates/part/order_prices.html:83
+#: part/templates/part/part_pricing.html:22
+#: part/templates/part/part_pricing.html:48
+#: part/templates/part/part_pricing.html:80
+msgid "Unit Cost"
+msgstr "Stückpreis"
+
+#: part/templates/part/order_prices.html:34
+#: part/templates/part/order_prices.html:59
+#: part/templates/part/order_prices.html:88
+#: part/templates/part/part_pricing.html:28
+#: part/templates/part/part_pricing.html:54
+#: part/templates/part/part_pricing.html:84
+msgid "Total Cost"
+msgstr "Gesamtkosten"
+
+#: part/templates/part/order_prices.html:42
+#: part/templates/part/part_pricing.html:36
+msgid "No supplier pricing available"
+msgstr "Keine Zulieferer-Preise verfügbar"
+
+#: part/templates/part/order_prices.html:51
+#: part/templates/part/order_prices.html:103
+#: part/templates/part/part_pricing.html:44
+msgid "BOM Pricing"
+msgstr "Stücklistenpreise"
+
+#: part/templates/part/order_prices.html:67
+#: part/templates/part/part_pricing.html:62
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr "Anmerkung: Stücklistenbepreisung für dieses Teil ist unvollständig"
+
+#: part/templates/part/order_prices.html:74
+#: part/templates/part/part_pricing.html:69
+msgid "No BOM pricing available"
+msgstr "Keine Stücklisten-Preise verfügbar"
+
+#: part/templates/part/order_prices.html:97
+#: part/templates/part/part_pricing.html:93
+msgid "No pricing information is available for this part."
+msgstr "Keine Preise für dieses Teil verfügbar"
+
+#: part/templates/part/order_prices.html:113
+#, fuzzy
+#| msgid "Part Pricing"
+msgid "Stock Pricing"
+msgstr "Teilbepreisung"
+
+#: part/templates/part/order_prices.html:121
+#, fuzzy
+#| msgid "No pricing information is available for this part."
+msgid "No stock pricing history is available for this part."
+msgstr "Keine Preise für dieses Teil verfügbar"
+
+#: part/templates/part/order_prices.html:140
+#, fuzzy, python-format
+#| msgid "Single Price"
+msgid "Single Price - %(currency)s"
+msgstr "Einzelpreis"
+
+#: part/templates/part/order_prices.html:152
+#, python-format
+msgid "Single Price Difference - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:163
+#, python-format
+msgid "Part Single Price - %(currency)s"
+msgstr ""
+
#: part/templates/part/params.html:17
msgid "Add new parameter"
msgstr "Parameter hinzufügen"
@@ -4559,126 +4651,94 @@ msgstr "Neue Teilparametervorlage anlegen"
msgid "Part List"
msgstr "Teileliste"
-#: part/templates/part/part_base.html:18
-#, python-format
-msgid "This part is a variant of %(link)s"
-msgstr "Dieses Teil ist eine Variante von %(link)s"
-
-#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: part/templates/part/part_base.html:26 templates/js/company.js:156
#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr "Inaktiv"
-#: part/templates/part/part_base.html:40
+#: part/templates/part/part_base.html:33
msgid "Star this part"
msgstr "Teil favorisieren"
-#: part/templates/part/part_base.html:47
-#: stock/templates/stock/item_base.html:137
+#: part/templates/part/part_base.html:40
+#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr "Barcode Aktionen"
-#: part/templates/part/part_base.html:49
-#: stock/templates/stock/item_base.html:139
+#: part/templates/part/part_base.html:42
+#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr "QR-Code anzeigen"
-#: part/templates/part/part_base.html:50
-#: stock/templates/stock/item_base.html:155
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr "Label drucken"
-#: part/templates/part/part_base.html:55
+#: part/templates/part/part_base.html:48
msgid "Show pricing information"
msgstr "Kosteninformationen ansehen"
-#: part/templates/part/part_base.html:59
+#: part/templates/part/part_base.html:52
msgid "Count part stock"
msgstr "Lagerbestand zählen"
-#: part/templates/part/part_base.html:74
+#: part/templates/part/part_base.html:67
msgid "Part actions"
msgstr "Teile Aktionen"
-#: part/templates/part/part_base.html:77
+#: part/templates/part/part_base.html:70
msgid "Duplicate part"
msgstr "Teil duplizieren"
-#: part/templates/part/part_base.html:80
+#: part/templates/part/part_base.html:73
msgid "Edit part"
msgstr "Teil bearbeiten"
-#: part/templates/part/part_base.html:83
+#: part/templates/part/part_base.html:76
msgid "Delete part"
msgstr "Teil löschen"
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:157
+#: part/templates/part/part_base.html:107
+msgid "This is a virtual part"
+msgstr "Dies ist ein virtuelles Teil"
+
+#: part/templates/part/part_base.html:113
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr "Dieses Teil ist eine Variante von %(link)s"
+
+#: part/templates/part/part_base.html:130 templates/js/table_filters.js:157
msgid "In Stock"
msgstr "Auf Lager"
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr "Für Bauaufträge benötigt"
-#: part/templates/part/part_base.html:143
+#: part/templates/part/part_base.html:150
msgid "Required for Sales Orders"
msgstr "Benötigt für Aufträge"
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:157
msgid "Allocated to Orders"
msgstr "Zu Bauaufträgen zugeordnet"
-#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+#: part/templates/part/part_base.html:172 templates/js/bom.js:316
msgid "Can Build"
msgstr "Herstellbar"
-#: part/templates/part/part_base.html:171 templates/js/part.js:418
+#: part/templates/part/part_base.html:178 templates/js/part.js:418
msgid "Building"
msgstr "Im Bau"
-#: part/templates/part/part_base.html:250
+#: part/templates/part/part_base.html:257
msgid "Calculate"
msgstr "Berechnen"
-#: part/templates/part/part_pricing.html:19
-msgid "Supplier Pricing"
-msgstr "Zulieferer-Preise"
-
-#: part/templates/part/part_pricing.html:23
-#: part/templates/part/part_pricing.html:49
-#: part/templates/part/part_pricing.html:81
-msgid "Unit Cost"
-msgstr "Stückpreis"
-
-#: part/templates/part/part_pricing.html:29
-#: part/templates/part/part_pricing.html:55
-#: part/templates/part/part_pricing.html:85
-msgid "Total Cost"
-msgstr "Gesamtkosten"
-
-#: part/templates/part/part_pricing.html:37
-msgid "No supplier pricing available"
-msgstr "Keine Zulieferer-Preise verfügbar"
-
-#: part/templates/part/part_pricing.html:45
-msgid "BOM Pricing"
-msgstr "Stücklistenpreise"
-
-#: part/templates/part/part_pricing.html:63
-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:70
-msgid "No BOM pricing available"
-msgstr "Keine Stücklisten-Preise verfügbar"
-
-#: part/templates/part/part_pricing.html:94
-msgid "No pricing information is available for this part."
-msgstr "Keine Preise für dieses Teil verfügbar"
-
#: part/templates/part/part_tests.html:17
msgid "Add Test Template"
msgstr "Test Vorlage hinzufügen"
@@ -4788,212 +4848,212 @@ msgstr "neue Variante anlegen"
msgid "Unknown database"
msgstr "Unbekannte Datenbank"
-#: part/views.py:89
+#: part/views.py:90
msgid "Add Related Part"
msgstr "verknüpftes Teil hinzufügen"
-#: part/views.py:144
+#: part/views.py:145
msgid "Delete Related Part"
msgstr "verknüpftes Teil entfernen"
-#: part/views.py:158
+#: part/views.py:159
msgid "Add part attachment"
msgstr "Teilanhang hinzufügen"
-#: part/views.py:211 templates/attachment_table.html:32
+#: part/views.py:212 templates/attachment_table.html:32
msgid "Edit attachment"
msgstr "Anhang bearbeiten"
-#: part/views.py:215
+#: part/views.py:216
msgid "Part attachment updated"
msgstr "Teilanhang aktualisiert"
-#: part/views.py:230
+#: part/views.py:231
msgid "Delete Part Attachment"
msgstr "Teilanhang löschen"
-#: part/views.py:238
+#: part/views.py:239
msgid "Deleted part attachment"
msgstr "Teilanhang gelöscht"
-#: part/views.py:247
+#: part/views.py:248
msgid "Create Test Template"
msgstr "Testvorlage anlegen"
-#: part/views.py:274
+#: part/views.py:275
msgid "Edit Test Template"
msgstr "Testvorlage bearbeiten"
-#: part/views.py:288
+#: part/views.py:289
msgid "Delete Test Template"
msgstr "Testvorlage löschen"
-#: part/views.py:295
+#: part/views.py:296
msgid "Set Part Category"
msgstr "Teil-Kategorie auswählen"
-#: part/views.py:345
+#: part/views.py:346
#, python-brace-format
msgid "Set category for {n} parts"
msgstr "Kategorie für {n} Teile setzen"
-#: part/views.py:380
+#: part/views.py:381
msgid "Create Variant"
msgstr "Variante anlegen"
-#: part/views.py:465
+#: part/views.py:466
msgid "Copied part"
msgstr "Teil kopiert"
-#: part/views.py:519 part/views.py:657
+#: part/views.py:520 part/views.py:658
msgid "Possible matches exist - confirm creation of new part"
msgstr "Übereinstimmung gefunden - Teil trotzdem anlegen"
-#: part/views.py:589
+#: part/views.py:590
msgid "Created new part"
msgstr "Neues Teil angelegt"
-#: part/views.py:825
+#: part/views.py:914
msgid "Part QR Code"
msgstr "Teil-QR-Code"
-#: part/views.py:927
+#: part/views.py:1016
msgid "Upload Part Image"
msgstr "Teilbild hochladen"
-#: part/views.py:933 part/views.py:968
+#: part/views.py:1022 part/views.py:1057
msgid "Updated part image"
msgstr "Teilbild aktualisiert"
-#: part/views.py:942
+#: part/views.py:1031
msgid "Select Part Image"
msgstr "Teilbild auswählen"
-#: part/views.py:971
+#: part/views.py:1060
msgid "Part image not found"
msgstr "Teilbild nicht gefunden"
-#: part/views.py:982
+#: part/views.py:1071
msgid "Edit Part Properties"
msgstr "Teileigenschaften bearbeiten"
-#: part/views.py:1017
+#: part/views.py:1106
msgid "Duplicate BOM"
msgstr "Stückliste duplizieren"
-#: part/views.py:1047
+#: part/views.py:1136
msgid "Confirm duplication of BOM from parent"
msgstr "bestätige Duplizierung Stückliste von übergeordneter Stückliste"
-#: part/views.py:1068
+#: part/views.py:1157
msgid "Validate BOM"
msgstr "Stückliste überprüfen"
-#: part/views.py:1089
+#: part/views.py:1178
msgid "Confirm that the BOM is valid"
msgstr "Bestätigen, dass Stückliste korrekt ist"
-#: part/views.py:1100
+#: part/views.py:1189
msgid "Validated Bill of Materials"
msgstr "überprüfte Stückliste"
-#: part/views.py:1234
+#: part/views.py:1323
msgid "No BOM file provided"
msgstr "Keine Stückliste angegeben"
-#: part/views.py:1595
+#: part/views.py:1684
msgid "Enter a valid quantity"
msgstr "Bitte eine gültige Anzahl eingeben"
-#: part/views.py:1620 part/views.py:1623
+#: part/views.py:1709 part/views.py:1712
msgid "Select valid part"
msgstr "Bitte ein gültiges Teil auswählen"
-#: part/views.py:1629
+#: part/views.py:1718
msgid "Duplicate part selected"
msgstr "Teil doppelt ausgewählt"
-#: part/views.py:1667
+#: part/views.py:1756
msgid "Select a part"
msgstr "Teil auswählen"
-#: part/views.py:1673
+#: part/views.py:1762
msgid "Selected part creates a circular BOM"
msgstr "gewähltes Teil erzeugt rekursive Stückliste"
-#: part/views.py:1677
+#: part/views.py:1766
msgid "Specify quantity"
msgstr "Anzahl angeben"
-#: part/views.py:1939
+#: part/views.py:2028
msgid "Confirm Part Deletion"
msgstr "Löschen des Teils bestätigen"
-#: part/views.py:1946
+#: part/views.py:2035
msgid "Part was deleted"
msgstr "Teil wurde gelöscht"
-#: part/views.py:1955
+#: part/views.py:2044
msgid "Part Pricing"
msgstr "Teilbepreisung"
-#: part/views.py:2089
+#: part/views.py:2178
msgid "Create Part Parameter Template"
msgstr "Teilparametervorlage anlegen"
-#: part/views.py:2099
+#: part/views.py:2188
msgid "Edit Part Parameter Template"
msgstr "Teilparametervorlage bearbeiten"
-#: part/views.py:2106
+#: part/views.py:2195
msgid "Delete Part Parameter Template"
msgstr "Teilparametervorlage löschen"
-#: part/views.py:2114
+#: part/views.py:2203
msgid "Create Part Parameter"
msgstr "Teilparameter anlegen"
-#: part/views.py:2164
+#: part/views.py:2253
msgid "Edit Part Parameter"
msgstr "Teilparameter bearbeiten"
-#: part/views.py:2178
+#: part/views.py:2267
msgid "Delete Part Parameter"
msgstr "Teilparameter löschen"
-#: part/views.py:2238
+#: part/views.py:2327
msgid "Edit Part Category"
msgstr "Teil-Kategorie bearbeiten"
-#: part/views.py:2276
+#: part/views.py:2365
msgid "Delete Part Category"
msgstr "Teil-Kategorie löschen"
-#: part/views.py:2282
+#: part/views.py:2371
msgid "Part category was deleted"
msgstr "Teil-Kategorie wurde gelöscht"
-#: part/views.py:2334
+#: part/views.py:2423
msgid "Create Category Parameter Template"
msgstr "Kategorieparametervorlage anlegen"
-#: part/views.py:2435
+#: part/views.py:2524
msgid "Edit Category Parameter Template"
msgstr "Kategorieparametervorlage bearbeiten"
-#: part/views.py:2491
+#: part/views.py:2580
msgid "Delete Category Parameter Template"
msgstr "Kategorieparametervorlage löschen"
-#: part/views.py:2510
+#: part/views.py:2599
msgid "Create BOM Item"
msgstr "Stücklisten-Position anlegen"
-#: part/views.py:2580
+#: part/views.py:2669
msgid "Edit BOM item"
msgstr "Stücklisten-Position bearbeiten"
-#: part/views.py:2636
+#: part/views.py:2725
msgid "Confim BOM item deletion"
msgstr "löschen von Stücklisten-Position bestätigen"
@@ -5128,7 +5188,7 @@ msgid "Moved {n} parts to {loc}"
msgstr "{n} Teile nach {loc} bewegt"
#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507
-#: stock/templates/stock/item_base.html:371 templates/js/stock.js:656
+#: stock/templates/stock/item_base.html:376 templates/js/stock.js:656
msgid "Expiry Date"
msgstr "Ablaufdatum"
@@ -5278,7 +5338,7 @@ msgstr "Wo wird dieses Teil normalerweise gelagert?"
msgid "Packaging this stock item is stored in"
msgstr "Die Verpackung dieses BestandsObjekt ist gelagert in"
-#: stock/models.py:435 stock/templates/stock/item_base.html:265
+#: stock/models.py:435 stock/templates/stock/item_base.html:270
msgid "Installed In"
msgstr "verbaut in"
@@ -5413,173 +5473,173 @@ msgstr "neuer Eintrag"
msgid "Stock Item Attachments"
msgstr "BestandsObjekt-Anhang"
-#: stock/templates/stock/item_base.html:24
-msgid "You are not in the list of owners of this item. This stock item cannot be edited."
-msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern."
-
-#: stock/templates/stock/item_base.html:31
-msgid "This stock item is in production and cannot be edited."
-msgstr "Dieses BestandsObjekt wird gerade hergestellt und kann nicht geändert werden."
-
-#: stock/templates/stock/item_base.html:32
-msgid "Edit the stock item from the build view."
-msgstr "Ändern des BestandsObjekts in der Bauauftrag-Ansicht."
-
-#: stock/templates/stock/item_base.html:45
-msgid "This stock item has not passed all required tests"
-msgstr "Dieses BestandsObjekt hat nicht alle Tests bestanden"
-
-#: stock/templates/stock/item_base.html:53
-#, python-format
-msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
-msgstr "Dieses BestandsObjekt ist dem Auftrag %(link)s zugewiesen (Menge: %(qty)s)"
-
-#: stock/templates/stock/item_base.html:61
-#, python-format
-msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
-msgstr "Dieses BestandsObjekt ist dem Bauauftrag %(link)s zugewiesen (Menge: %(qty)s)"
-
-#: stock/templates/stock/item_base.html:67
-msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
-msgstr "Dieses BestandsObjekt ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden."
-
-#: stock/templates/stock/item_base.html:71
-msgid "This stock item cannot be deleted as it has child items"
-msgstr "Dieses BestandsObjekt kann nicht gelöscht werden, da es Kinder besitzt"
-
-#: stock/templates/stock/item_base.html:75
-msgid "This stock item will be automatically deleted when all stock is depleted."
-msgstr "Dieses BestandsObjekt wird automatisch gelöscht wenn der Lagerbestand aufgebraucht ist."
-
-#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:375 templates/js/table_filters.js:146
+#: stock/templates/stock/item_base.html:33
+#: stock/templates/stock/item_base.html:380 templates/js/table_filters.js:146
msgid "Expired"
msgstr "abgelaufen"
-#: stock/templates/stock/item_base.html:105
-#: stock/templates/stock/item_base.html:377 templates/js/table_filters.js:151
+#: stock/templates/stock/item_base.html:43
+#: stock/templates/stock/item_base.html:382 templates/js/table_filters.js:151
msgid "Stale"
msgstr "überfällig"
-#: stock/templates/stock/item_base.html:142 templates/js/barcode.js:309
+#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
#: templates/js/barcode.js:314
msgid "Unlink Barcode"
msgstr "Barcode abhängen"
-#: stock/templates/stock/item_base.html:144
+#: stock/templates/stock/item_base.html:82
msgid "Link Barcode"
msgstr "Barcode anhängen"
-#: stock/templates/stock/item_base.html:146 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
msgid "Scan to Location"
msgstr "zu Lagerort einscannen"
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:91
msgid "Printing actions"
msgstr "Druck Aktionen"
-#: stock/templates/stock/item_base.html:157
+#: stock/templates/stock/item_base.html:95
#: stock/templates/stock/item_tests.html:27
msgid "Test Report"
msgstr "Test-Bericht"
-#: stock/templates/stock/item_base.html:166
+#: stock/templates/stock/item_base.html:104
msgid "Stock adjustment actions"
msgstr "Bestands-Anpassungs Aktionen"
-#: stock/templates/stock/item_base.html:170
+#: stock/templates/stock/item_base.html:108
#: stock/templates/stock/location.html:65 templates/stock_table.html:57
msgid "Count stock"
msgstr "Bestand zählen"
-#: stock/templates/stock/item_base.html:173 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
msgid "Add stock"
msgstr "Bestand hinzufügen"
-#: stock/templates/stock/item_base.html:176 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
msgid "Remove stock"
msgstr "Bestand entfernen"
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:117
msgid "Serialize stock"
msgstr "Lagerbestand serialisieren"
-#: stock/templates/stock/item_base.html:183
+#: stock/templates/stock/item_base.html:121
msgid "Transfer stock"
msgstr "Bestand verschieben"
-#: stock/templates/stock/item_base.html:186
+#: stock/templates/stock/item_base.html:124
msgid "Assign to customer"
msgstr "Kunden zuweisen"
-#: stock/templates/stock/item_base.html:189
+#: stock/templates/stock/item_base.html:127
msgid "Return to stock"
msgstr "zu Bestand zurückgeben"
-#: stock/templates/stock/item_base.html:193 templates/js/stock.js:1421
+#: stock/templates/stock/item_base.html:131 templates/js/stock.js:1426
msgid "Uninstall stock item"
msgstr "BestandsObjekt deinstallieren"
-#: stock/templates/stock/item_base.html:193
+#: stock/templates/stock/item_base.html:131
msgid "Uninstall"
msgstr "Deinstallieren"
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:140
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr "Bestands-Aktionen"
-#: stock/templates/stock/item_base.html:205
+#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr "in Variante ändern"
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:146
msgid "Duplicate stock item"
msgstr "BestandsObjekt duplizieren"
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:148
msgid "Edit stock item"
msgstr "BestandsObjekt bearbeiten"
-#: stock/templates/stock/item_base.html:213
+#: stock/templates/stock/item_base.html:151
msgid "Delete stock item"
msgstr "BestandsObjekt löschen"
-#: stock/templates/stock/item_base.html:225
+#: stock/templates/stock/item_base.html:171
+msgid "You are not in the list of owners of this item. This stock item cannot be edited."
+msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern."
+
+#: stock/templates/stock/item_base.html:178
+msgid "This stock item is in production and cannot be edited."
+msgstr "Dieses BestandsObjekt wird gerade hergestellt und kann nicht geändert werden."
+
+#: stock/templates/stock/item_base.html:179
+msgid "Edit the stock item from the build view."
+msgstr "Ändern des BestandsObjekts in der Bauauftrag-Ansicht."
+
+#: stock/templates/stock/item_base.html:192
+msgid "This stock item has not passed all required tests"
+msgstr "Dieses BestandsObjekt hat nicht alle Tests bestanden"
+
+#: stock/templates/stock/item_base.html:200
+#, python-format
+msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr "Dieses BestandsObjekt ist dem Auftrag %(link)s zugewiesen (Menge: %(qty)s)"
+
+#: stock/templates/stock/item_base.html:208
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr "Dieses BestandsObjekt ist dem Bauauftrag %(link)s zugewiesen (Menge: %(qty)s)"
+
+#: stock/templates/stock/item_base.html:214
+msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
+msgstr "Dieses BestandsObjekt ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden."
+
+#: stock/templates/stock/item_base.html:218
+msgid "This stock item cannot be deleted as it has child items"
+msgstr "Dieses BestandsObjekt kann nicht gelöscht werden, da es Kinder besitzt"
+
+#: stock/templates/stock/item_base.html:222
+msgid "This stock item will be automatically deleted when all stock is depleted."
+msgstr "Dieses BestandsObjekt wird automatisch gelöscht wenn der Lagerbestand aufgebraucht ist."
+
+#: stock/templates/stock/item_base.html:230
msgid "Stock Item Details"
msgstr "BestandsObjekt-Details"
-#: stock/templates/stock/item_base.html:284 templates/js/build.js:498
+#: stock/templates/stock/item_base.html:289 templates/js/build.js:498
msgid "No location set"
msgstr "Kein Lagerort gesetzt"
-#: stock/templates/stock/item_base.html:291
+#: stock/templates/stock/item_base.html:296
msgid "Barcode Identifier"
msgstr "Barcode-Bezeichner"
-#: stock/templates/stock/item_base.html:333
+#: stock/templates/stock/item_base.html:338
msgid "Parent Item"
msgstr "Elternposition"
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:380
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Dieses BestandsObjekt lief am %(item.expiry_date)s ab"
-#: stock/templates/stock/item_base.html:377
+#: stock/templates/stock/item_base.html:382
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Dieses BestandsObjekt läuft am %(item.expiry_date)s ab"
-#: stock/templates/stock/item_base.html:384 templates/js/stock.js:662
+#: stock/templates/stock/item_base.html:389 templates/js/stock.js:662
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
-#: stock/templates/stock/item_base.html:389
+#: stock/templates/stock/item_base.html:394
msgid "Last Stocktake"
msgstr "Letzte Inventur"
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:398
msgid "No stocktake performed"
msgstr "Keine Inventur ausgeführt"
@@ -5932,7 +5992,7 @@ msgstr "{n} BestandsObjekte gelöscht"
#: stock/views.py:1222
msgid "Edit Stock Item Status"
-msgstr "Lagerbestandsstatus bearbeiten"
+msgstr "Status bearbeiten"
#: stock/views.py:1245
msgid "Edit Stock Item"
@@ -6068,11 +6128,13 @@ msgstr "Farbschemata"
#: templates/InvenTree/settings/appearance.html:29
#, python-format
-msgid "\n"
+msgid ""
+"\n"
" The CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected color theme was not found.
\n"
" Please select another color theme :)\n"
" "
-msgstr "\n"
+msgstr ""
+"\n"
"\t\tDie CSS Datei \"%(invalid_color_theme)s.css\" für das aktuell ausgewählte Farbschema wurde nicht gefunden.
\n"
"\t\tBitte ein anderes Farbschema auswählen:)\n"
"\t "
@@ -6111,11 +6173,35 @@ msgstr "Vorlage bearbeiten"
msgid "Delete Template"
msgstr "Vorlage löschen"
+#: templates/InvenTree/settings/currencies.html:10
+msgid "Currency Settings"
+msgstr "Währungseinstellungen"
+
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
+msgstr "Basiswährung"
+
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
+msgstr "Wechselkurse"
+
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
+msgstr "Letzte Aktualisierung"
+
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr "Nie"
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
+msgstr "Jetzt aktualisieren"
+
#: templates/InvenTree/settings/global.html:10
msgid "Global InvenTree Settings"
msgstr "Systemweite InvenTree-Einstellungen"
-#: templates/InvenTree/settings/global.html:27
+#: templates/InvenTree/settings/global.html:26
msgid "Barcode Settings"
msgstr "Barcode-Einstellungen"
@@ -6194,10 +6280,14 @@ msgid "Global"
msgstr "Systemweit"
#: templates/InvenTree/settings/tabs.html:19
+msgid "Currencies"
+msgstr "Währungen"
+
+#: templates/InvenTree/settings/tabs.html:22
msgid "Report"
msgstr "Bericht"
-#: templates/InvenTree/settings/tabs.html:22
+#: templates/InvenTree/settings/tabs.html:25
msgid "Categories"
msgstr "Kategorien"
@@ -6243,46 +6333,50 @@ msgid "Update Available"
msgstr "Aktualisierung verfügbar"
#: templates/about.html:34
+msgid "API Version"
+msgstr "API-Version"
+
+#: templates/about.html:39
msgid "Django Version"
msgstr "Django-Version"
-#: templates/about.html:41
+#: templates/about.html:46
msgid "Commit Hash"
msgstr "Commit-Hash"
-#: templates/about.html:48
+#: templates/about.html:53
msgid "Commit Date"
msgstr "Commit-Datum"
-#: templates/about.html:53
+#: templates/about.html:58
msgid "InvenTree Documentation"
msgstr "InvenTree-Dokumentation"
-#: templates/about.html:58
+#: templates/about.html:63
msgid "View Code on GitHub"
msgstr "Code auf GitHub ansehen"
-#: templates/about.html:63
+#: templates/about.html:68
msgid "Credits"
msgstr "Danksagung"
-#: templates/about.html:68
+#: templates/about.html:73
msgid "Mobile App"
msgstr "Mobile App"
-#: templates/about.html:73
+#: templates/about.html:78
msgid "Submit Bug Report"
msgstr "Fehlerbericht senden"
-#: templates/about.html:80 templates/clip.html:4
+#: templates/about.html:85 templates/clip.html:4
msgid "copy to clipboard"
msgstr "In die Zwischenablage kopieren"
-#: templates/about.html:80
+#: templates/about.html:85
msgid "copy version information"
msgstr "Versionsinformationen kopieren"
-#: templates/about.html:90 templates/js/modals.js:568
+#: templates/about.html:95 templates/js/modals.js:568
#: templates/js/modals.js:846 templates/modals.html:29 templates/modals.html:54
#: templates/modals.html:97
msgid "Close"
@@ -6412,41 +6506,49 @@ msgstr "Barcode entspricht keinem Lagerort"
msgid "Open subassembly"
msgstr "Unterbaugruppe öffnen"
-#: templates/js/bom.js:261
+#: templates/js/bom.js:249
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/bom.js:257
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/bom.js:277
msgid "No pricing available"
msgstr "Keine Preisinformation verfügbar"
-#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/bom.js:288 templates/js/filters.js:167
#: templates/js/filters.js:397
msgid "true"
msgstr "ja"
-#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/bom.js:289 templates/js/filters.js:171
#: templates/js/filters.js:398
msgid "false"
msgstr "nein"
-#: templates/js/bom.js:290 templates/js/bom.js:376
+#: templates/js/bom.js:306 templates/js/bom.js:392
msgid "View BOM"
msgstr "Stückliste anzeigen"
-#: templates/js/bom.js:350
+#: templates/js/bom.js:366
msgid "Validate BOM Item"
msgstr "Stücklisten-Position kontrollieren"
-#: templates/js/bom.js:352
+#: templates/js/bom.js:368
msgid "This line has been validated"
msgstr "Diese Position wurde kontrolliert"
-#: templates/js/bom.js:354
+#: templates/js/bom.js:370
msgid "Edit BOM Item"
msgstr "Stücklisten-Position bearbeiten"
-#: templates/js/bom.js:356
+#: templates/js/bom.js:372
msgid "Delete BOM Item"
msgstr "Stücklisten-Position löschen"
-#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+#: templates/js/bom.js:463 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr "Keine Stücklisten-Position(en) gefunden"
@@ -6489,7 +6591,7 @@ msgstr "Keine Bauaufträge passen zur Anfrage"
#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
#: templates/js/stock.js:511 templates/js/stock.js:938
-#: templates/js/stock.js:1453
+#: templates/js/stock.js:1458
msgid "Select"
msgstr "Auswählen"
@@ -6752,6 +6854,12 @@ msgstr "Testergebnis löschen"
msgid "This test is defined for a parent part"
msgstr "Dieses Testergebnis ist für ein Hauptteil"
+#: templates/js/part.js:727
+#, fuzzy
+#| msgid "Single Price"
+msgid "Single Price Difference"
+msgstr "Einzelpreis"
+
#: templates/js/report.js:47
msgid "items selected"
msgstr "BestandsObjekt ausgewählt"
@@ -6928,11 +7036,11 @@ msgstr "Inventur"
#: templates/js/stock.js:825
msgid "Stock Status"
-msgstr "Bestandsstatus"
+msgstr "Status"
#: templates/js/stock.js:840
msgid "Set Stock Status"
-msgstr "Bestandsstatus setzen"
+msgstr "Status setzen"
#: templates/js/stock.js:854
msgid "Select Status Code"
@@ -6946,55 +7054,55 @@ msgstr "Status Code muss ausgewählt werden"
msgid "Invalid date"
msgstr "Ungültiges Datum"
-#: templates/js/stock.js:1036
+#: templates/js/stock.js:1041
msgid "Location no longer exists"
msgstr "Standort nicht mehr vorhanden"
-#: templates/js/stock.js:1055
+#: templates/js/stock.js:1060
msgid "Purchase order no longer exists"
msgstr "Bestellung existiert nicht mehr"
-#: templates/js/stock.js:1074
+#: templates/js/stock.js:1079
msgid "Customer no longer exists"
msgstr "Kunde existiert nicht mehr"
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1097
msgid "Stock item no longer exists"
msgstr "Lagerbestand existiert nicht mehr"
-#: templates/js/stock.js:1115
+#: templates/js/stock.js:1120
msgid "Added"
msgstr "Hinzugefügt"
-#: templates/js/stock.js:1123
+#: templates/js/stock.js:1128
msgid "Removed"
msgstr "Entfernt"
-#: templates/js/stock.js:1155
+#: templates/js/stock.js:1160
msgid "No user information"
msgstr "Keine Benutzerinformation"
-#: templates/js/stock.js:1167
+#: templates/js/stock.js:1172
msgid "Edit tracking entry"
msgstr "Tracking-Eintrag bearbeiten"
-#: templates/js/stock.js:1168
+#: templates/js/stock.js:1173
msgid "Delete tracking entry"
msgstr "Tracking-Eintrag löschen"
-#: templates/js/stock.js:1292
+#: templates/js/stock.js:1297
msgid "Create New Location"
msgstr "Neuen Lagerort anlegen"
-#: templates/js/stock.js:1391
+#: templates/js/stock.js:1396
msgid "Serial"
msgstr "Seriennummer"
-#: templates/js/stock.js:1484 templates/js/table_filters.js:172
+#: templates/js/stock.js:1489 templates/js/table_filters.js:172
msgid "Installed"
msgstr "Installiert"
-#: templates/js/stock.js:1509
+#: templates/js/stock.js:1514
msgid "Install item"
msgstr "Installiere Objekt"
@@ -7110,7 +7218,7 @@ msgstr "zeige zu Kunden zugeordnete Einträge"
#: templates/js/table_filters.js:198 templates/js/table_filters.js:199
msgid "Stock status"
-msgstr "Bestandsstatus"
+msgstr "Status"
#: templates/js/table_filters.js:232
msgid "Build status"
@@ -7327,11 +7435,11 @@ msgstr "Server läuft im Debug-Modus"
#: templates/stats.html:33
msgid "Docker Mode"
-msgstr ""
+msgstr "Docker-Modus"
#: templates/stats.html:34
msgid "Server is deployed using docker"
-msgstr ""
+msgstr "Server wird mit Docker bereitgestellt"
#: templates/stats.html:40
msgid "Server status"
@@ -7403,7 +7511,7 @@ msgstr "Status ändern"
#: templates/stock_table.html:60
msgid "Change stock status"
-msgstr "Bestandsstatus ändern"
+msgstr "Status ändern"
#: templates/stock_table.html:63
msgid "Delete selected items"
@@ -7476,4 +7584,3 @@ msgstr "Berechtigungen Einträge zu ändern"
#: users/models.py:187
msgid "Permission to delete items"
msgstr "Berechtigung Einträge zu löschen"
-
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index 7e057e4153..ffe58c6405 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: 2021-05-17 10:46+0000\n"
+"POT-Creation-Date: 2021-05-29 07:28+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -34,42 +34,42 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:110 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:126
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:127
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:159 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:160
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:167
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:168
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:233
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -123,9 +123,9 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1946
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1146
+#: templates/js/stock.js:1151
msgid "User"
msgstr ""
@@ -134,7 +134,7 @@ msgid "upload date"
msgstr ""
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:102
-#: part/models.py:686 part/models.py:2087 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/part.js:110
#: templates/js/part.js:553 templates/js/stock.js:944
@@ -172,23 +172,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -233,7 +233,7 @@ msgid "Returned"
msgstr ""
#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:124
+#: order/templates/order/sales_order_base.html:126
msgid "Shipped"
msgstr ""
@@ -373,27 +373,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:587
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:636
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:681
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:887 templates/navbar.html:95
+#: InvenTree/views.py:937 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -445,10 +445,10 @@ msgstr ""
msgid "Order target date"
msgstr ""
-#: build/forms.py:42 build/templates/build/build_base.html:136
+#: build/forms.py:42 build/templates/build/build_base.html:146
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:117
+#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
@@ -462,8 +462,8 @@ msgstr ""
#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1245
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:123
-#: build/templates/build/detail.html:31 common/models.py:705
+#: build/templates/build/build_base.html:133
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -474,20 +474,22 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:162
#: order/templates/order/sales_order_detail.html:230 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2216
+#: part/forms.py:371 part/forms.py:387 part/models.py:2269
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
-#: part/templates/part/part_pricing.html:13
+#: part/templates/part/order_prices.html:175
+#: part/templates/part/part_pricing.html:12
#: part/templates/part/sale_prices.html:85
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
#: stock/forms.py:175 stock/forms.py:308
-#: stock/templates/stock/item_base.html:250
+#: stock/templates/stock/item_base.html:255
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
-#: templates/js/stock.js:1131 templates/js/stock.js:1393
+#: templates/js/part.js:717 templates/js/stock.js:1136
+#: templates/js/stock.js:1398
msgid "Quantity"
msgstr ""
@@ -529,11 +531,11 @@ msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
-#: stock/templates/stock/item_base.html:280
+#: stock/templates/stock/item_base.html:285
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:490
-#: templates/js/stock.js:641 templates/js/stock.js:1023
+#: templates/js/stock.js:641 templates/js/stock.js:1028
msgid "Location"
msgstr ""
@@ -541,14 +543,14 @@ msgstr ""
msgid "Location of completed parts"
msgstr ""
-#: build/forms.py:215 build/templates/build/build_base.html:128
+#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:59 order/models.py:466
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:398 templates/InvenTree/search.html:252
+#: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:770
#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1100
-#: templates/js/stock.js:1401
+#: templates/js/stock.js:628 templates/js/stock.js:1105
+#: templates/js/stock.js:1406
msgid "Status"
msgstr ""
@@ -581,7 +583,7 @@ msgid "Select quantity of stock to allocate"
msgstr ""
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:63
+#: build/templates/build/build_base.html:73
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -593,7 +595,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -603,7 +605,7 @@ msgstr ""
#: build/models.py:127 order/models.py:99 order/models.py:616
#: order/templates/order/purchase_order_detail.html:170
-#: order/templates/order/sales_order_detail.html:225 part/models.py:2225
+#: order/templates/order/sales_order_detail.html:225 part/models.py:2278
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
#: templates/js/build.js:565 templates/js/build.js:1008
@@ -614,7 +616,7 @@ msgstr ""
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/models.py:146 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr ""
@@ -624,17 +626,17 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:128
#: build/templates/build/detail.html:26 company/models.py:622
#: order/models.py:658 order/models.py:691
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:131
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:213 part/models.py:321
-#: part/models.py:1914 part/models.py:1926 part/models.py:1944
-#: part/models.py:2019 part/models.py:2115 part/models.py:2200
+#: part/models.py:1967 part/models.py:1979 part/models.py:1997
+#: part/models.py:2072 part/models.py:2168 part/models.py:2253
#: part/templates/part/part_app_base.html:8
-#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29
+#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
@@ -644,7 +646,7 @@ msgstr ""
#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
-#: templates/js/stock.js:1465
+#: templates/js/stock.js:1470
msgid "Part"
msgstr ""
@@ -692,7 +694,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:204 part/templates/part/part_base.html:160
+#: build/models.py:204 part/templates/part/part_base.html:167
msgid "Build Status"
msgstr ""
@@ -733,10 +735,10 @@ msgstr ""
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/models.py:250 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: order/templates/order/sales_order_base.html:140 part/models.py:886
#: report/templates/report/inventree_build_order_base.html:159
msgid "Responsible"
msgstr ""
@@ -750,8 +752,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:28
#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
-#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
-#: stock/models.py:458 stock/templates/stock/item_base.html:340
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:94
+#: stock/models.py:458 stock/templates/stock/item_base.html:345
msgid "External Link"
msgstr ""
@@ -769,12 +771,12 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:278
#: order/templates/order/so_navbar.html:33
#: order/templates/order/so_navbar.html:36 part/models.py:871
-#: part/templates/part/navbar.html:128
+#: part/templates/part/navbar.html:134
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+#: templates/js/bom.js:349 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
msgstr ""
@@ -824,7 +826,7 @@ msgstr ""
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1224 stock/templates/stock/item_base.html:312
+#: build/models.py:1224 stock/templates/stock/item_base.html:317
#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
@@ -839,10 +841,10 @@ msgstr ""
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/item_base.html:334
+#: stock/templates/stock/item_base.html:31
+#: stock/templates/stock/item_base.html:339
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
-#: templates/js/stock.js:1082 templates/js/stock.js:1384
+#: templates/js/stock.js:1087 templates/js/stock.js:1389
msgid "Stock Item"
msgstr ""
@@ -914,7 +916,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: order/templates/order/sales_order_detail.html:160
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:452 stock/templates/stock/item_base.html:244
+#: stock/models.py:452 stock/templates/stock/item_base.html:249
#: templates/js/build.js:474
msgid "Serial Number"
msgstr ""
@@ -922,8 +924,8 @@ msgstr ""
#: build/templates/build/attachments.html:12
#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
-#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
-#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:125
+#: part/templates/part/navbar.html:128 stock/templates/stock/navbar.html:47
#: stock/templates/stock/navbar.html:50
msgid "Attachments"
msgstr ""
@@ -944,119 +946,119 @@ msgstr ""
msgid "Stock items will have to be manually allocated"
msgstr ""
-#: build/templates/build/build_base.html:16
+#: build/templates/build/build_base.html:18
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:22
+#: build/templates/build/build_base.html:25
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:31
+#: build/templates/build/build_base.html:32
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:36
+#: build/templates/build/build_base.html:37
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:41
+#: build/templates/build/build_base.html:42
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:46
+#: build/templates/build/build_base.html:47
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:75
#: company/templates/company/company_base.html:40
#: company/templates/company/manufacturer_part_base.html:25
#: company/templates/company/supplier_part_base.html:26
#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:124
+#: order/templates/order/sales_order_base.html:37
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:22
+#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
msgstr ""
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:81
+#: build/templates/build/build_base.html:150
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:41
-#: order/templates/order/sales_order_base.html:86
+#: order/templates/order/sales_order_base.html:43
+#: order/templates/order/sales_order_base.html:88
#: templates/js/table_filters.js:241 templates/js/table_filters.js:260
#: templates/js/table_filters.js:277
msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:80
+#: build/templates/build/build_base.html:90
msgid "Print actions"
msgstr ""
-#: build/templates/build/build_base.html:84
+#: build/templates/build/build_base.html:94
msgid "Print Build Order"
msgstr ""
-#: build/templates/build/build_base.html:90
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:100
+#: build/templates/build/build_base.html:225
msgid "Complete Build"
msgstr ""
-#: build/templates/build/build_base.html:95
+#: build/templates/build/build_base.html:105
msgid "Build actions"
msgstr ""
-#: build/templates/build/build_base.html:99
+#: build/templates/build/build_base.html:109
msgid "Edit Build"
msgstr ""
-#: build/templates/build/build_base.html:101
-#: build/templates/build/build_base.html:199 build/views.py:57
+#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:209 build/views.py:57
msgid "Cancel Build"
msgstr ""
-#: build/templates/build/build_base.html:114
+#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr ""
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:150
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:147
+#: build/templates/build/build_base.html:157
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr ""
-#: build/templates/build/build_base.html:160
+#: build/templates/build/build_base.html:170
#: build/templates/build/detail.html:84 order/models.py:689
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_base.html:35
#: order/templates/order/sales_order_ship.html:25
#: part/templates/part/allocation.html:30
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:274 templates/js/order.js:245
+#: stock/templates/stock/item_base.html:279 templates/js/order.js:245
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:167
+#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:207
+#: build/templates/build/build_base.html:217
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:208
+#: build/templates/build/build_base.html:218
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1192,15 +1194,15 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:298 templates/js/stock.js:636
-#: templates/js/stock.js:1408 templates/js/table_filters.js:108
+#: stock/templates/stock/item_base.html:303 templates/js/stock.js:636
+#: templates/js/stock.js:1413 templates/js/table_filters.js:108
#: templates/js/table_filters.js:202
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+#: order/templates/order/sales_order_base.html:113 templates/js/build.js:778
msgid "Created"
msgstr ""
@@ -1283,8 +1285,8 @@ msgstr ""
#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
#: order/templates/order/order_notes.html:27
#: order/templates/order/sales_order_notes.html:29
-#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:477
-#: stock/templates/stock/item_base.html:487
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:482
+#: stock/templates/stock/item_base.html:492
#: stock/templates/stock/item_notes.html:26
msgid "Save"
msgstr ""
@@ -1430,7 +1432,7 @@ msgstr ""
msgid "Add Build Order Attachment"
msgstr ""
-#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:172
+#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:173
#: stock/views.py:277
msgid "Added attachment"
msgstr ""
@@ -1467,368 +1469,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:38 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:39
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:55
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
msgid "Download from URL"
msgstr ""
-#: common/models.py:92
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:98
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:99
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:105
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:106
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:110
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:111
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:124
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:125
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:146
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:153
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:159 part/models.py:2117 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:160
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:166 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:167
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:173 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:174
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:180 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:181
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:187 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:194 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:201 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:202
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:208
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:209
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:215 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:216
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:222
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:223
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:233
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:234
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:241
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:247
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:248
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:254
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:255
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:257 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:262
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:263
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:269
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:270
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:276
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:277
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:283
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:284
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:290
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:291
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:296
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:297
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:301
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:302
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:307
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:308
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:531
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:533
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:568
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:591
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:602
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:625
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:706 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:714 company/templates/company/supplier_part_pricing.html:82
-#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:271
msgid "Price"
msgstr ""
-#: common/models.py:715
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:804
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -1883,7 +1877,7 @@ msgstr ""
msgid "Image URL"
msgstr ""
-#: company/forms.py:118
+#: company/forms.py:118 templates/js/part.js:708
msgid "Single Price"
msgstr ""
@@ -1999,7 +1993,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:305 company/models.py:456 stock/models.py:405
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:235
msgid "Base Part"
msgstr ""
@@ -2012,7 +2006,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:25
#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:347
+#: part/bom.py:241 stock/templates/stock/item_base.html:352
#: templates/js/company.js:44 templates/js/company.js:165
#: templates/js/company.js:289
msgid "Manufacturer"
@@ -2031,7 +2025,7 @@ msgstr ""
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:359
+#: part/bom.py:286 stock/templates/stock/item_base.html:364
#: templates/js/company.js:48 templates/js/company.js:263
#: templates/js/order.js:170
msgid "Supplier"
@@ -2055,7 +2049,7 @@ msgstr ""
#: company/models.py:479
#: company/templates/company/manufacturer_part_base.html:6
#: company/templates/company/manufacturer_part_base.html:19
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:357
msgid "Manufacturer Part"
msgstr ""
@@ -2072,7 +2066,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:497 company/templates/company/supplier_part_base.html:116
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2228
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2281
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -2087,7 +2081,7 @@ msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:503 company/templates/company/supplier_part_base.html:109
-#: stock/models.py:429 stock/templates/stock/item_base.html:305
+#: stock/models.py:429 stock/templates/stock/item_base.html:310
#: templates/js/stock.js:667
msgid "Packaging"
msgstr ""
@@ -2173,10 +2167,10 @@ msgid "Uses default currency"
msgstr ""
#: company/templates/company/detail.html:67 order/models.py:461
-#: order/templates/order/sales_order_base.html:92 stock/models.py:447
-#: stock/models.py:448 stock/templates/stock/item_base.html:257
+#: order/templates/order/sales_order_base.html:94 stock/models.py:447
+#: stock/models.py:448 stock/templates/stock/item_base.html:262
#: templates/js/company.js:40 templates/js/order.js:267
-#: templates/js/stock.js:1064
+#: templates/js/stock.js:1069
msgid "Customer"
msgstr ""
@@ -2222,7 +2216,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1279
+#: templates/js/stock.js:1284
msgid "New Part"
msgstr ""
@@ -2269,7 +2263,7 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:49
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1285
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1290
msgid "New Supplier Part"
msgstr ""
@@ -2292,7 +2286,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
msgid "Order part"
msgstr ""
@@ -2326,8 +2320,8 @@ msgid "There are %(count)s suppliers defined for this manufacturer part. If you
msgstr ""
#: company/templates/company/manufacturer_part_navbar.html:14
-#: company/views.py:63 part/templates/part/navbar.html:78
-#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: company/views.py:63 part/templates/part/navbar.html:84
+#: part/templates/part/navbar.html:87 templates/InvenTree/search.html:316
#: templates/navbar.html:35
msgid "Suppliers"
msgstr ""
@@ -2344,7 +2338,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2402,10 +2396,10 @@ msgstr ""
#: company/templates/company/sales_orders.html:11
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
-#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/navbar.html:104 part/templates/part/navbar.html:107
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2414,10 +2408,10 @@ msgstr ""
#: company/templates/company/purchase_orders.html:10
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/navbar.html:90 part/templates/part/navbar.html:93
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -2448,7 +2442,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:414
-#: stock/templates/stock/item_base.html:364 templates/js/company.js:279
+#: stock/templates/stock/item_base.html:369 templates/js/company.js:279
msgid "Supplier Part"
msgstr ""
@@ -2497,7 +2491,7 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
-#: part/templates/part/sale_prices.html:17 part/views.py:2644
+#: part/templates/part/sale_prices.html:17 part/views.py:2733
msgid "Add Price Break"
msgstr ""
@@ -2516,8 +2510,8 @@ msgstr ""
msgid "Delete price break"
msgstr ""
-#: company/views.py:70 part/templates/part/navbar.html:72
-#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: company/views.py:70 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:306
#: templates/navbar.html:36
msgid "Manufacturers"
msgstr ""
@@ -2539,20 +2533,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:169 part/views.py:848
+#: company/views.py:169 part/views.py:937
msgid "Download Image"
msgstr ""
-#: company/views.py:198 part/views.py:880
+#: company/views.py:198 part/views.py:969
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:205 part/views.py:887
+#: company/views.py:205 part/views.py:976
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:214 part/views.py:896
+#: company/views.py:214 part/views.py:985
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2604,7 +2598,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:578 templates/js/stock.js:1286
+#: company/views.py:578 templates/js/stock.js:1291
msgid "Create new Supplier Part"
msgstr ""
@@ -2612,15 +2606,15 @@ msgstr ""
msgid "Delete Supplier Part"
msgstr ""
-#: company/views.py:799 part/views.py:2648
+#: company/views.py:799 part/views.py:2737
msgid "Added new price break"
msgstr ""
-#: company/views.py:855 part/views.py:2692
+#: company/views.py:855 part/views.py:2781
msgid "Edit Price Break"
msgstr ""
-#: company/views.py:870 part/views.py:2706
+#: company/views.py:870 part/views.py:2795
msgid "Delete Price Break"
msgstr ""
@@ -2694,11 +2688,11 @@ msgid "Mark order as complete"
msgstr ""
#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
-#: order/templates/order/sales_order_base.html:59
+#: order/templates/order/sales_order_base.html:61
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+#: order/forms.py:71 order/templates/order/sales_order_base.html:58
msgid "Ship order"
msgstr ""
@@ -2795,7 +2789,7 @@ msgstr ""
msgid "Date order was completed"
msgstr ""
-#: order/models.py:243 part/views.py:1586 stock/models.py:302
+#: order/models.py:243 part/views.py:1675 stock/models.py:302
#: stock/models.py:1018
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2861,8 +2855,8 @@ msgstr ""
#: order/models.py:645 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:319 templates/js/order.js:148
-#: templates/js/stock.js:1045
+#: stock/templates/stock/item_base.html:324 templates/js/order.js:148
+#: templates/js/stock.js:1050
msgid "Purchase Order"
msgstr ""
@@ -2873,7 +2867,7 @@ msgstr ""
#: order/models.py:662 order/templates/order/order_base.html:131
#: order/templates/order/purchase_order_detail.html:189
#: order/templates/order/receive_parts.html:22
-#: order/templates/order/sales_order_base.html:131
+#: order/templates/order/sales_order_base.html:133
msgid "Received"
msgstr ""
@@ -2882,7 +2876,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:669 stock/models.py:540
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:331
msgid "Purchase Price"
msgstr ""
@@ -2890,8 +2884,9 @@ msgstr ""
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:698 part/templates/part/navbar.html:95
-#: part/templates/part/part_pricing.html:78
+#: order/models.py:698 part/templates/part/navbar.html:101
+#: part/templates/part/order_prices.html:82
+#: part/templates/part/part_pricing.html:77
msgid "Sale Price"
msgstr ""
@@ -2942,12 +2937,12 @@ msgid "Are you sure you want to delete this attachment?"
msgstr ""
#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:48
+#: order/templates/order/sales_order_base.html:50
msgid "Print"
msgstr ""
#: order/templates/order/order_base.html:43
-#: order/templates/order/sales_order_base.html:52
+#: order/templates/order/sales_order_base.html:54
msgid "Edit order information"
msgstr ""
@@ -2965,12 +2960,12 @@ msgid "Purchase Order Details"
msgstr ""
#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:77
+#: order/templates/order/sales_order_base.html:79
msgid "Order Reference"
msgstr ""
#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:82
+#: order/templates/order/sales_order_base.html:84
msgid "Order Status"
msgstr ""
@@ -2983,7 +2978,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:100
#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1291
+#: templates/js/stock.js:1296
msgid "New Location"
msgstr ""
@@ -3195,14 +3190,14 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: order/templates/order/receive_parts.html:14 part/api.py:45
#: part/models.py:322 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:99
#: part/templates/part/category_navbar.html:22
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -3217,7 +3212,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:414
+#: part/templates/part/part_base.html:136 templates/js/part.js:414
msgid "On Order"
msgstr ""
@@ -3233,20 +3228,20 @@ msgstr ""
msgid "Remove line"
msgstr ""
-#: order/templates/order/sales_order_base.html:15
-msgid "This SalesOrder has not been fully allocated"
+#: order/templates/order/sales_order_base.html:16
+msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:64
+#: order/templates/order/sales_order_base.html:66
msgid "Packing List"
msgstr ""
-#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/sales_order_base.html:74
#: order/templates/order/so_navbar.html:12
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275
msgid "Customer Reference"
msgstr ""
@@ -3265,7 +3260,7 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:342
+#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358
#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr ""
@@ -3560,7 +3555,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:139 part/templates/part/part_base.html:117
+#: part/bom.py:139 part/templates/part/part_base.html:124
msgid "Available Stock"
msgstr ""
@@ -3633,7 +3628,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:122 part/models.py:2115
+#: part/forms.py:122 part/models.py:2168
msgid "Parent Part"
msgstr ""
@@ -3709,7 +3704,7 @@ msgstr ""
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:344 part/models.py:2209
+#: part/forms.py:344 part/models.py:2262
msgid "Sub part"
msgstr ""
@@ -3729,7 +3724,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:82 part/models.py:2161
+#: part/models.py:82 part/models.py:2214
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -3799,7 +3794,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:724 part/models.py:2160 part/templates/part/detail.html:73
+#: part/models.py:724 part/models.py:2213 part/templates/part/detail.html:73
#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr ""
@@ -3809,7 +3804,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:161
+#: part/templates/part/part_base.html:87 templates/js/part.js:161
msgid "IPN"
msgstr ""
@@ -3854,7 +3849,7 @@ msgstr ""
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:828 part/models.py:2089 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2142 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr ""
@@ -3925,167 +3920,167 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:1987
+#: part/models.py:2040
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2004
+#: part/models.py:2057
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2024 templates/js/part.js:638 templates/js/stock.js:104
+#: part/models.py:2077 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr ""
-#: part/models.py:2025
+#: part/models.py:2078
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2030
+#: part/models.py:2083
msgid "Test Description"
msgstr ""
-#: part/models.py:2031
+#: part/models.py:2084
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2036 templates/js/part.js:647
+#: part/models.py:2089 templates/js/part.js:647
#: templates/js/table_filters.js:223
msgid "Required"
msgstr ""
-#: part/models.py:2037
+#: part/models.py:2090
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2042 templates/js/part.js:655
+#: part/models.py:2095 templates/js/part.js:655
msgid "Requires Value"
msgstr ""
-#: part/models.py:2043
+#: part/models.py:2096
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2048 templates/js/part.js:662
+#: part/models.py:2101 templates/js/part.js:662
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2049
+#: part/models.py:2102
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2082
+#: part/models.py:2135
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2087
+#: part/models.py:2140
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2089
+#: part/models.py:2142
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2117 part/models.py:2166 part/models.py:2167
+#: part/models.py:2170 part/models.py:2219 part/models.py:2220
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Data"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2171 templates/InvenTree/settings/category.html:67
+#: part/models.py:2224 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2225
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2201
+#: part/models.py:2254
msgid "Select parent part"
msgstr ""
-#: part/models.py:2210
+#: part/models.py:2263
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2216
+#: part/models.py:2269
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2218 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2271 templates/js/bom.js:216 templates/js/bom.js:285
msgid "Optional"
msgstr ""
-#: part/models.py:2218
+#: part/models.py:2271
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2221
+#: part/models.py:2274
msgid "Overage"
msgstr ""
-#: part/models.py:2222
+#: part/models.py:2275
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2225
+#: part/models.py:2278
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2228
+#: part/models.py:2281
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "Checksum"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2234 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2287 templates/js/bom.js:295 templates/js/bom.js:302
#: templates/js/table_filters.js:51
msgid "Inherited"
msgstr ""
-#: part/models.py:2235
+#: part/models.py:2288
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2311 part/views.py:1592 part/views.py:1644
+#: part/models.py:2364 part/views.py:1681 part/views.py:1733
#: stock/models.py:292
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2320 part/models.py:2322
+#: part/models.py:2373 part/models.py:2375
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2325
+#: part/models.py:2378
msgid "BOM Item"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2495
msgid "Part 1"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Part 2"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2478
+#: part/models.py:2531
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4153,7 +4148,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:61 part/views.py:1887
+#: part/templates/part/bom.html:61 part/views.py:1976
msgid "Export Bill of Materials"
msgstr ""
@@ -4169,8 +4164,8 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1280
+#: part/templates/part/bom.html:160 part/views.py:585
+#: templates/js/stock.js:1285
msgid "Create New Part"
msgstr ""
@@ -4251,7 +4246,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:29 part/views.py:2290
+#: part/templates/part/category.html:29 part/views.py:2379
msgid "Create new part category"
msgstr ""
@@ -4369,7 +4364,7 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:460
+#: part/templates/part/copy_part.html:9 part/views.py:461
msgid "Duplicate Part"
msgstr ""
@@ -4506,27 +4501,111 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/templates/part/navbar.html:92
+#: part/templates/part/navbar.html:72 part/templates/part/order_prices.html:12
+msgid "Order Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:75
+msgid "Order Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:98
msgid "Sales Price Information"
msgstr ""
-#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+#: part/templates/part/navbar.html:112 part/templates/part/part_tests.html:10
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:404
+#: part/templates/part/navbar.html:115 stock/templates/stock/item_base.html:409
msgid "Tests"
msgstr ""
-#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/navbar.html:119 part/templates/part/navbar.html:122
#: part/templates/part/related.html:10
msgid "Related Parts"
msgstr ""
-#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+#: part/templates/part/navbar.html:131 part/templates/part/notes.html:12
msgid "Part Notes"
msgstr ""
+#: part/templates/part/order_prices.html:21
+msgid "Pricing ranges"
+msgstr ""
+
+#: part/templates/part/order_prices.html:26
+#: part/templates/part/part_pricing.html:18
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:27
+#: part/templates/part/order_prices.html:52
+#: part/templates/part/order_prices.html:83
+#: part/templates/part/part_pricing.html:22
+#: part/templates/part/part_pricing.html:48
+#: part/templates/part/part_pricing.html:80
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:34
+#: part/templates/part/order_prices.html:59
+#: part/templates/part/order_prices.html:88
+#: part/templates/part/part_pricing.html:28
+#: part/templates/part/part_pricing.html:54
+#: part/templates/part/part_pricing.html:84
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:42
+#: part/templates/part/part_pricing.html:36
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:51
+#: part/templates/part/order_prices.html:103
+#: part/templates/part/part_pricing.html:44
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:67
+#: part/templates/part/part_pricing.html:62
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/order_prices.html:74
+#: part/templates/part/part_pricing.html:69
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:97
+#: part/templates/part/part_pricing.html:93
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:113
+msgid "Stock Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:121
+msgid "No stock pricing history is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:140
+#, python-format
+msgid "Single Price - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:152
+#, python-format
+msgid "Single Price Difference - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:163
+#, python-format
+msgid "Part Single Price - %(currency)s"
+msgstr ""
+
#: part/templates/part/params.html:17
msgid "Add new parameter"
msgstr ""
@@ -4560,126 +4639,94 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:18
-#, python-format
-msgid "This part is a variant of %(link)s"
-msgstr ""
-
-#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: part/templates/part/part_base.html:26 templates/js/company.js:156
#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr ""
-#: part/templates/part/part_base.html:40
+#: part/templates/part/part_base.html:33
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:47
-#: stock/templates/stock/item_base.html:137
+#: part/templates/part/part_base.html:40
+#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:49
-#: stock/templates/stock/item_base.html:139
+#: part/templates/part/part_base.html:42
+#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:50
-#: stock/templates/stock/item_base.html:155
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:55
+#: part/templates/part/part_base.html:48
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:59
+#: part/templates/part/part_base.html:52
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:74
+#: part/templates/part/part_base.html:67
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:77
+#: part/templates/part/part_base.html:70
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:80
+#: part/templates/part/part_base.html:73
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:83
+#: part/templates/part/part_base.html:76
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:157
+#: part/templates/part/part_base.html:107
+msgid "This is a virtual part"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:130 templates/js/table_filters.js:157
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:143
+#: part/templates/part/part_base.html:150
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:157
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+#: part/templates/part/part_base.html:172 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:171 templates/js/part.js:418
+#: part/templates/part/part_base.html:178 templates/js/part.js:418
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:250
+#: part/templates/part/part_base.html:257
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_pricing.html:19
-msgid "Supplier Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:23
-#: part/templates/part/part_pricing.html:49
-#: part/templates/part/part_pricing.html:81
-msgid "Unit Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:29
-#: part/templates/part/part_pricing.html:55
-#: part/templates/part/part_pricing.html:85
-msgid "Total Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:37
-msgid "No supplier pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:45
-msgid "BOM Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:63
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:70
-msgid "No BOM pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:94
-msgid "No pricing information is available for this part."
-msgstr ""
-
#: part/templates/part/part_tests.html:17
msgid "Add Test Template"
msgstr ""
@@ -4789,212 +4836,212 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:89
+#: part/views.py:90
msgid "Add Related Part"
msgstr ""
-#: part/views.py:144
+#: part/views.py:145
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:158
+#: part/views.py:159
msgid "Add part attachment"
msgstr ""
-#: part/views.py:211 templates/attachment_table.html:32
+#: part/views.py:212 templates/attachment_table.html:32
msgid "Edit attachment"
msgstr ""
-#: part/views.py:215
+#: part/views.py:216
msgid "Part attachment updated"
msgstr ""
-#: part/views.py:230
+#: part/views.py:231
msgid "Delete Part Attachment"
msgstr ""
-#: part/views.py:238
+#: part/views.py:239
msgid "Deleted part attachment"
msgstr ""
-#: part/views.py:247
+#: part/views.py:248
msgid "Create Test Template"
msgstr ""
-#: part/views.py:274
+#: part/views.py:275
msgid "Edit Test Template"
msgstr ""
-#: part/views.py:288
+#: part/views.py:289
msgid "Delete Test Template"
msgstr ""
-#: part/views.py:295
+#: part/views.py:296
msgid "Set Part Category"
msgstr ""
-#: part/views.py:345
+#: part/views.py:346
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:380
+#: part/views.py:381
msgid "Create Variant"
msgstr ""
-#: part/views.py:465
+#: part/views.py:466
msgid "Copied part"
msgstr ""
-#: part/views.py:519 part/views.py:657
+#: part/views.py:520 part/views.py:658
msgid "Possible matches exist - confirm creation of new part"
msgstr ""
-#: part/views.py:589
+#: part/views.py:590
msgid "Created new part"
msgstr ""
-#: part/views.py:825
+#: part/views.py:914
msgid "Part QR Code"
msgstr ""
-#: part/views.py:927
+#: part/views.py:1016
msgid "Upload Part Image"
msgstr ""
-#: part/views.py:933 part/views.py:968
+#: part/views.py:1022 part/views.py:1057
msgid "Updated part image"
msgstr ""
-#: part/views.py:942
+#: part/views.py:1031
msgid "Select Part Image"
msgstr ""
-#: part/views.py:971
+#: part/views.py:1060
msgid "Part image not found"
msgstr ""
-#: part/views.py:982
+#: part/views.py:1071
msgid "Edit Part Properties"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1106
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1047
+#: part/views.py:1136
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1068
+#: part/views.py:1157
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1089
+#: part/views.py:1178
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1100
+#: part/views.py:1189
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1234
+#: part/views.py:1323
msgid "No BOM file provided"
msgstr ""
-#: part/views.py:1595
+#: part/views.py:1684
msgid "Enter a valid quantity"
msgstr ""
-#: part/views.py:1620 part/views.py:1623
+#: part/views.py:1709 part/views.py:1712
msgid "Select valid part"
msgstr ""
-#: part/views.py:1629
+#: part/views.py:1718
msgid "Duplicate part selected"
msgstr ""
-#: part/views.py:1667
+#: part/views.py:1756
msgid "Select a part"
msgstr ""
-#: part/views.py:1673
+#: part/views.py:1762
msgid "Selected part creates a circular BOM"
msgstr ""
-#: part/views.py:1677
+#: part/views.py:1766
msgid "Specify quantity"
msgstr ""
-#: part/views.py:1939
+#: part/views.py:2028
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1946
+#: part/views.py:2035
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1955
+#: part/views.py:2044
msgid "Part Pricing"
msgstr ""
-#: part/views.py:2089
+#: part/views.py:2178
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:2099
+#: part/views.py:2188
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:2106
+#: part/views.py:2195
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:2114
+#: part/views.py:2203
msgid "Create Part Parameter"
msgstr ""
-#: part/views.py:2164
+#: part/views.py:2253
msgid "Edit Part Parameter"
msgstr ""
-#: part/views.py:2178
+#: part/views.py:2267
msgid "Delete Part Parameter"
msgstr ""
-#: part/views.py:2238
+#: part/views.py:2327
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:2276
+#: part/views.py:2365
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:2282
+#: part/views.py:2371
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:2334
+#: part/views.py:2423
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2435
+#: part/views.py:2524
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2491
+#: part/views.py:2580
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2510
+#: part/views.py:2599
msgid "Create BOM Item"
msgstr ""
-#: part/views.py:2580
+#: part/views.py:2669
msgid "Edit BOM item"
msgstr ""
-#: part/views.py:2636
+#: part/views.py:2725
msgid "Confim BOM item deletion"
msgstr ""
@@ -5129,7 +5176,7 @@ msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507
-#: stock/templates/stock/item_base.html:371 templates/js/stock.js:656
+#: stock/templates/stock/item_base.html:376 templates/js/stock.js:656
msgid "Expiry Date"
msgstr ""
@@ -5279,7 +5326,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:435 stock/templates/stock/item_base.html:265
+#: stock/models.py:435 stock/templates/stock/item_base.html:270
msgid "Installed In"
msgstr ""
@@ -5414,173 +5461,173 @@ msgstr ""
msgid "Stock Item Attachments"
msgstr ""
-#: stock/templates/stock/item_base.html:24
-msgid "You are not in the list of owners of this item. This stock item cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:31
-msgid "This stock item is in production and cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:32
-msgid "Edit the stock item from the build view."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:45
-msgid "This stock item has not passed all required tests"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:53
-#, python-format
-msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:61
-#, python-format
-msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:67
-msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:71
-msgid "This stock item cannot be deleted as it has child items"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:75
-msgid "This stock item will be automatically deleted when all stock is depleted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:375 templates/js/table_filters.js:146
+#: stock/templates/stock/item_base.html:33
+#: stock/templates/stock/item_base.html:380 templates/js/table_filters.js:146
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:105
-#: stock/templates/stock/item_base.html:377 templates/js/table_filters.js:151
+#: stock/templates/stock/item_base.html:43
+#: stock/templates/stock/item_base.html:382 templates/js/table_filters.js:151
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:142 templates/js/barcode.js:309
+#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
#: templates/js/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:144
+#: stock/templates/stock/item_base.html:82
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:146 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:91
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:157
+#: stock/templates/stock/item_base.html:95
#: stock/templates/stock/item_tests.html:27
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item_base.html:166
+#: stock/templates/stock/item_base.html:104
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:170
+#: stock/templates/stock/item_base.html:108
#: stock/templates/stock/location.html:65 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:173 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:176 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:117
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:183
+#: stock/templates/stock/item_base.html:121
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:186
+#: stock/templates/stock/item_base.html:124
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:189
+#: stock/templates/stock/item_base.html:127
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:193 templates/js/stock.js:1421
+#: stock/templates/stock/item_base.html:131 templates/js/stock.js:1426
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:193
+#: stock/templates/stock/item_base.html:131
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:140
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: stock/templates/stock/item_base.html:205
+#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:146
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:148
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:213
+#: stock/templates/stock/item_base.html:151
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:225
+#: stock/templates/stock/item_base.html:171
+msgid "You are not in the list of owners of this item. This stock item cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:178
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:179
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:192
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:200
+#, python-format
+msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:208
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:214
+msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:218
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:222
+msgid "This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:230
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:284 templates/js/build.js:498
+#: stock/templates/stock/item_base.html:289 templates/js/build.js:498
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:291
+#: stock/templates/stock/item_base.html:296
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:333
+#: stock/templates/stock/item_base.html:338
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:380
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:377
+#: stock/templates/stock/item_base.html:382
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:384 templates/js/stock.js:662
+#: stock/templates/stock/item_base.html:389 templates/js/stock.js:662
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:389
+#: stock/templates/stock/item_base.html:394
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:398
msgid "No stocktake performed"
msgstr ""
@@ -6110,11 +6157,35 @@ msgstr ""
msgid "Delete Template"
msgstr ""
+#: templates/InvenTree/settings/currencies.html:10
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
+msgstr ""
+
#: templates/InvenTree/settings/global.html:10
msgid "Global InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:27
+#: templates/InvenTree/settings/global.html:26
msgid "Barcode Settings"
msgstr ""
@@ -6193,10 +6264,14 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:25
msgid "Categories"
msgstr ""
@@ -6242,46 +6317,50 @@ msgid "Update Available"
msgstr ""
#: templates/about.html:34
+msgid "API Version"
+msgstr ""
+
+#: templates/about.html:39
msgid "Django Version"
msgstr ""
-#: templates/about.html:41
+#: templates/about.html:46
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:48
+#: templates/about.html:53
msgid "Commit Date"
msgstr ""
-#: templates/about.html:53
+#: templates/about.html:58
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:58
+#: templates/about.html:63
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:63
+#: templates/about.html:68
msgid "Credits"
msgstr ""
-#: templates/about.html:68
+#: templates/about.html:73
msgid "Mobile App"
msgstr ""
-#: templates/about.html:73
+#: templates/about.html:78
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:80 templates/clip.html:4
+#: templates/about.html:85 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:85
msgid "copy version information"
msgstr ""
-#: templates/about.html:90 templates/js/modals.js:568
+#: templates/about.html:95 templates/js/modals.js:568
#: templates/js/modals.js:846 templates/modals.html:29 templates/modals.html:54
#: templates/modals.html:97
msgid "Close"
@@ -6411,41 +6490,49 @@ msgstr ""
msgid "Open subassembly"
msgstr ""
-#: templates/js/bom.js:261
+#: templates/js/bom.js:249
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/bom.js:257
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/bom.js:277
msgid "No pricing available"
msgstr ""
-#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/bom.js:288 templates/js/filters.js:167
#: templates/js/filters.js:397
msgid "true"
msgstr ""
-#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/bom.js:289 templates/js/filters.js:171
#: templates/js/filters.js:398
msgid "false"
msgstr ""
-#: templates/js/bom.js:290 templates/js/bom.js:376
+#: templates/js/bom.js:306 templates/js/bom.js:392
msgid "View BOM"
msgstr ""
-#: templates/js/bom.js:350
+#: templates/js/bom.js:366
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/bom.js:352
+#: templates/js/bom.js:368
msgid "This line has been validated"
msgstr ""
-#: templates/js/bom.js:354
+#: templates/js/bom.js:370
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/bom.js:356
+#: templates/js/bom.js:372
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+#: templates/js/bom.js:463 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr ""
@@ -6488,7 +6575,7 @@ msgstr ""
#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
#: templates/js/stock.js:511 templates/js/stock.js:938
-#: templates/js/stock.js:1453
+#: templates/js/stock.js:1458
msgid "Select"
msgstr ""
@@ -6751,6 +6838,10 @@ msgstr ""
msgid "This test is defined for a parent part"
msgstr ""
+#: templates/js/part.js:727
+msgid "Single Price Difference"
+msgstr ""
+
#: templates/js/report.js:47
msgid "items selected"
msgstr ""
@@ -6945,55 +7036,55 @@ msgstr ""
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1036
+#: templates/js/stock.js:1041
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1055
+#: templates/js/stock.js:1060
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1074
+#: templates/js/stock.js:1079
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1097
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1115
+#: templates/js/stock.js:1120
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1123
+#: templates/js/stock.js:1128
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1155
+#: templates/js/stock.js:1160
msgid "No user information"
msgstr ""
-#: templates/js/stock.js:1167
+#: templates/js/stock.js:1172
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1168
+#: templates/js/stock.js:1173
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1292
+#: templates/js/stock.js:1297
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1391
+#: templates/js/stock.js:1396
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1484 templates/js/table_filters.js:172
+#: templates/js/stock.js:1489 templates/js/table_filters.js:172
msgid "Installed"
msgstr ""
-#: templates/js/stock.js:1509
+#: templates/js/stock.js:1514
msgid "Install item"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index f56eb19904..e3617c1f4f 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: 2021-05-17 10:46+0000\n"
-"PO-Revision-Date: 2021-05-17 10:47\n"
+"POT-Creation-Date: 2021-05-29 07:28+0000\n"
+"PO-Revision-Date: 2021-05-28 04:02\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -33,42 +33,42 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:110 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "Confirmar"
-#: InvenTree/forms.py:126
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:127
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:159 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:160
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:167
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "Confirmar la contraseña"
-#: InvenTree/forms.py:168
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "Confirmar contraseña nueva"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:233
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -122,9 +122,9 @@ msgstr "Comentario"
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1946
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1146
+#: templates/js/stock.js:1151
msgid "User"
msgstr "Usuario"
@@ -133,7 +133,7 @@ msgid "upload date"
msgstr ""
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:102
-#: part/models.py:686 part/models.py:2087 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/part.js:110
#: templates/js/part.js:553 templates/js/stock.js:944
@@ -171,23 +171,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr "Inglés"
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr "Francés"
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr "Alemán"
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr "Polaco"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr "Turco"
@@ -232,7 +232,7 @@ msgid "Returned"
msgstr ""
#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:124
+#: order/templates/order/sales_order_base.html:126
msgid "Shipped"
msgstr ""
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:587
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr "Eliminar elemento"
-#: InvenTree/views.py:636
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr "Configurar Contraseña"
-#: InvenTree/views.py:681
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:887 templates/navbar.html:95
+#: InvenTree/views.py:937 templates/navbar.html:95
msgid "System Information"
msgstr "Información del sistema"
@@ -444,10 +444,10 @@ msgstr ""
msgid "Order target date"
msgstr ""
-#: build/forms.py:42 build/templates/build/build_base.html:136
+#: build/forms.py:42 build/templates/build/build_base.html:146
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:117
+#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
@@ -461,8 +461,8 @@ msgstr ""
#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1245
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:123
-#: build/templates/build/detail.html:31 common/models.py:705
+#: build/templates/build/build_base.html:133
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -473,20 +473,22 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:162
#: order/templates/order/sales_order_detail.html:230 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2216
+#: part/forms.py:371 part/forms.py:387 part/models.py:2269
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
-#: part/templates/part/part_pricing.html:13
+#: part/templates/part/order_prices.html:175
+#: part/templates/part/part_pricing.html:12
#: part/templates/part/sale_prices.html:85
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
#: stock/forms.py:175 stock/forms.py:308
-#: stock/templates/stock/item_base.html:250
+#: stock/templates/stock/item_base.html:255
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
-#: templates/js/stock.js:1131 templates/js/stock.js:1393
+#: templates/js/part.js:717 templates/js/stock.js:1136
+#: templates/js/stock.js:1398
msgid "Quantity"
msgstr "Cantidad"
@@ -528,11 +530,11 @@ msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
-#: stock/templates/stock/item_base.html:280
+#: stock/templates/stock/item_base.html:285
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:490
-#: templates/js/stock.js:641 templates/js/stock.js:1023
+#: templates/js/stock.js:641 templates/js/stock.js:1028
msgid "Location"
msgstr "Unicación"
@@ -540,14 +542,14 @@ msgstr "Unicación"
msgid "Location of completed parts"
msgstr ""
-#: build/forms.py:215 build/templates/build/build_base.html:128
+#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:59 order/models.py:466
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:398 templates/InvenTree/search.html:252
+#: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:770
#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1100
-#: templates/js/stock.js:1401
+#: templates/js/stock.js:628 templates/js/stock.js:1105
+#: templates/js/stock.js:1406
msgid "Status"
msgstr "Estado"
@@ -580,7 +582,7 @@ msgid "Select quantity of stock to allocate"
msgstr ""
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:63
+#: build/templates/build/build_base.html:73
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -592,7 +594,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -602,7 +604,7 @@ msgstr ""
#: build/models.py:127 order/models.py:99 order/models.py:616
#: order/templates/order/purchase_order_detail.html:170
-#: order/templates/order/sales_order_detail.html:225 part/models.py:2225
+#: order/templates/order/sales_order_detail.html:225 part/models.py:2278
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
#: templates/js/build.js:565 templates/js/build.js:1008
@@ -613,7 +615,7 @@ msgstr "Referencia"
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/models.py:146 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr ""
@@ -623,17 +625,17 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:128
#: build/templates/build/detail.html:26 company/models.py:622
#: order/models.py:658 order/models.py:691
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:131
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:213 part/models.py:321
-#: part/models.py:1914 part/models.py:1926 part/models.py:1944
-#: part/models.py:2019 part/models.py:2115 part/models.py:2200
+#: part/models.py:1967 part/models.py:1979 part/models.py:1997
+#: part/models.py:2072 part/models.py:2168 part/models.py:2253
#: part/templates/part/part_app_base.html:8
-#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29
+#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
@@ -643,7 +645,7 @@ msgstr ""
#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
-#: templates/js/stock.js:1465
+#: templates/js/stock.js:1470
msgid "Part"
msgstr "Parte"
@@ -691,7 +693,7 @@ msgstr "Elementos completados"
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:204 part/templates/part/part_base.html:160
+#: build/models.py:204 part/templates/part/part_base.html:167
msgid "Build Status"
msgstr ""
@@ -732,10 +734,10 @@ msgstr ""
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/models.py:250 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: order/templates/order/sales_order_base.html:140 part/models.py:886
#: report/templates/report/inventree_build_order_base.html:159
msgid "Responsible"
msgstr "Responsable"
@@ -749,8 +751,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:28
#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
-#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
-#: stock/models.py:458 stock/templates/stock/item_base.html:340
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:94
+#: stock/models.py:458 stock/templates/stock/item_base.html:345
msgid "External Link"
msgstr ""
@@ -768,12 +770,12 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:278
#: order/templates/order/so_navbar.html:33
#: order/templates/order/so_navbar.html:36 part/models.py:871
-#: part/templates/part/navbar.html:128
+#: part/templates/part/navbar.html:134
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+#: templates/js/bom.js:349 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
msgstr "Notas"
@@ -823,7 +825,7 @@ msgstr ""
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1224 stock/templates/stock/item_base.html:312
+#: build/models.py:1224 stock/templates/stock/item_base.html:317
#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
@@ -838,10 +840,10 @@ msgstr ""
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/item_base.html:334
+#: stock/templates/stock/item_base.html:31
+#: stock/templates/stock/item_base.html:339
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
-#: templates/js/stock.js:1082 templates/js/stock.js:1384
+#: templates/js/stock.js:1087 templates/js/stock.js:1389
msgid "Stock Item"
msgstr ""
@@ -913,7 +915,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: order/templates/order/sales_order_detail.html:160
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:452 stock/templates/stock/item_base.html:244
+#: stock/models.py:452 stock/templates/stock/item_base.html:249
#: templates/js/build.js:474
msgid "Serial Number"
msgstr "Número de serie"
@@ -921,8 +923,8 @@ msgstr "Número de serie"
#: build/templates/build/attachments.html:12
#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
-#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
-#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:125
+#: part/templates/part/navbar.html:128 stock/templates/stock/navbar.html:47
#: stock/templates/stock/navbar.html:50
msgid "Attachments"
msgstr ""
@@ -943,119 +945,119 @@ msgstr ""
msgid "Stock items will have to be manually allocated"
msgstr ""
-#: build/templates/build/build_base.html:16
+#: build/templates/build/build_base.html:18
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:22
+#: build/templates/build/build_base.html:25
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:31
+#: build/templates/build/build_base.html:32
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:36
+#: build/templates/build/build_base.html:37
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:41
+#: build/templates/build/build_base.html:42
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:46
+#: build/templates/build/build_base.html:47
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:75
#: company/templates/company/company_base.html:40
#: company/templates/company/manufacturer_part_base.html:25
#: company/templates/company/supplier_part_base.html:26
#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:124
+#: order/templates/order/sales_order_base.html:37
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:22
+#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
msgstr ""
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:81
+#: build/templates/build/build_base.html:150
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:41
-#: order/templates/order/sales_order_base.html:86
+#: order/templates/order/sales_order_base.html:43
+#: order/templates/order/sales_order_base.html:88
#: templates/js/table_filters.js:241 templates/js/table_filters.js:260
#: templates/js/table_filters.js:277
msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:80
+#: build/templates/build/build_base.html:90
msgid "Print actions"
msgstr ""
-#: build/templates/build/build_base.html:84
+#: build/templates/build/build_base.html:94
msgid "Print Build Order"
msgstr ""
-#: build/templates/build/build_base.html:90
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:100
+#: build/templates/build/build_base.html:225
msgid "Complete Build"
msgstr ""
-#: build/templates/build/build_base.html:95
+#: build/templates/build/build_base.html:105
msgid "Build actions"
msgstr ""
-#: build/templates/build/build_base.html:99
+#: build/templates/build/build_base.html:109
msgid "Edit Build"
msgstr ""
-#: build/templates/build/build_base.html:101
-#: build/templates/build/build_base.html:199 build/views.py:57
+#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:209 build/views.py:57
msgid "Cancel Build"
msgstr ""
-#: build/templates/build/build_base.html:114
+#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr ""
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:150
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:147
+#: build/templates/build/build_base.html:157
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr "Progreso"
-#: build/templates/build/build_base.html:160
+#: build/templates/build/build_base.html:170
#: build/templates/build/detail.html:84 order/models.py:689
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_base.html:35
#: order/templates/order/sales_order_ship.html:25
#: part/templates/part/allocation.html:30
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:274 templates/js/order.js:245
+#: stock/templates/stock/item_base.html:279 templates/js/order.js:245
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:167
+#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:207
+#: build/templates/build/build_base.html:217
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:208
+#: build/templates/build/build_base.html:218
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1191,15 +1193,15 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:298 templates/js/stock.js:636
-#: templates/js/stock.js:1408 templates/js/table_filters.js:108
+#: stock/templates/stock/item_base.html:303 templates/js/stock.js:636
+#: templates/js/stock.js:1413 templates/js/table_filters.js:108
#: templates/js/table_filters.js:202
msgid "Batch"
msgstr "Lote"
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+#: order/templates/order/sales_order_base.html:113 templates/js/build.js:778
msgid "Created"
msgstr ""
@@ -1282,8 +1284,8 @@ msgstr ""
#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
#: order/templates/order/order_notes.html:27
#: order/templates/order/sales_order_notes.html:29
-#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:477
-#: stock/templates/stock/item_base.html:487
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:482
+#: stock/templates/stock/item_base.html:492
#: stock/templates/stock/item_notes.html:26
msgid "Save"
msgstr "Guardar"
@@ -1429,7 +1431,7 @@ msgstr ""
msgid "Add Build Order Attachment"
msgstr ""
-#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:172
+#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:173
#: stock/views.py:277
msgid "Added attachment"
msgstr ""
@@ -1466,368 +1468,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:38 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:39
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:55
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
msgid "Download from URL"
msgstr ""
-#: common/models.py:92
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:98
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:99
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:105
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:106
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:110
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:111
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:124
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:125
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:146
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:153
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:159 part/models.py:2117 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:160
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:166 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:167
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:173 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:174
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:180 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:181
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:187 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:194 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:201 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:202
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:208
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:209
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:215 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:216
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:222
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:223
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:233
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:234
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:241
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:247
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:248
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:254
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:255
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:257 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr "días"
-#: common/models.py:262
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:263
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:269
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:270
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:276
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:277
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:283
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:284
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:290
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:291
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:296
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:297
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:301
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:302
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:307
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:308
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:531
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:533
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:568
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:591
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:602
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:625
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:706 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:714 company/templates/company/supplier_part_pricing.html:82
-#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:271
msgid "Price"
msgstr ""
-#: common/models.py:715
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:804
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -1882,7 +1876,7 @@ msgstr ""
msgid "Image URL"
msgstr ""
-#: company/forms.py:118
+#: company/forms.py:118 templates/js/part.js:708
msgid "Single Price"
msgstr ""
@@ -1998,7 +1992,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:305 company/models.py:456 stock/models.py:405
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:235
msgid "Base Part"
msgstr ""
@@ -2011,7 +2005,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:25
#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:347
+#: part/bom.py:241 stock/templates/stock/item_base.html:352
#: templates/js/company.js:44 templates/js/company.js:165
#: templates/js/company.js:289
msgid "Manufacturer"
@@ -2030,7 +2024,7 @@ msgstr ""
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:359
+#: part/bom.py:286 stock/templates/stock/item_base.html:364
#: templates/js/company.js:48 templates/js/company.js:263
#: templates/js/order.js:170
msgid "Supplier"
@@ -2054,7 +2048,7 @@ msgstr ""
#: company/models.py:479
#: company/templates/company/manufacturer_part_base.html:6
#: company/templates/company/manufacturer_part_base.html:19
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:357
msgid "Manufacturer Part"
msgstr ""
@@ -2071,7 +2065,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:497 company/templates/company/supplier_part_base.html:116
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2228
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2281
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -2086,7 +2080,7 @@ msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:503 company/templates/company/supplier_part_base.html:109
-#: stock/models.py:429 stock/templates/stock/item_base.html:305
+#: stock/models.py:429 stock/templates/stock/item_base.html:310
#: templates/js/stock.js:667
msgid "Packaging"
msgstr ""
@@ -2154,7 +2148,8 @@ msgstr ""
#: company/templates/company/delete.html:12
#, python-format
-msgid "There are %(count)s parts sourced from this company.
\n"
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
"If this supplier is deleted, these supplier part entries will also be deleted."
msgstr ""
@@ -2171,10 +2166,10 @@ msgid "Uses default currency"
msgstr ""
#: company/templates/company/detail.html:67 order/models.py:461
-#: order/templates/order/sales_order_base.html:92 stock/models.py:447
-#: stock/models.py:448 stock/templates/stock/item_base.html:257
+#: order/templates/order/sales_order_base.html:94 stock/models.py:447
+#: stock/models.py:448 stock/templates/stock/item_base.html:262
#: templates/js/company.js:40 templates/js/order.js:267
-#: templates/js/stock.js:1064
+#: templates/js/stock.js:1069
msgid "Customer"
msgstr "Cliente"
@@ -2220,7 +2215,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1279
+#: templates/js/stock.js:1284
msgid "New Part"
msgstr ""
@@ -2267,7 +2262,7 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:49
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1285
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1290
msgid "New Supplier Part"
msgstr ""
@@ -2290,7 +2285,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
msgid "Order part"
msgstr ""
@@ -2324,8 +2319,8 @@ msgid "There are %(count)s suppliers defined for this manufacturer part. If you
msgstr ""
#: company/templates/company/manufacturer_part_navbar.html:14
-#: company/views.py:63 part/templates/part/navbar.html:78
-#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: company/views.py:63 part/templates/part/navbar.html:84
+#: part/templates/part/navbar.html:87 templates/InvenTree/search.html:316
#: templates/navbar.html:35
msgid "Suppliers"
msgstr ""
@@ -2342,7 +2337,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2400,10 +2395,10 @@ msgstr ""
#: company/templates/company/sales_orders.html:11
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
-#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/navbar.html:104 part/templates/part/navbar.html:107
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2412,10 +2407,10 @@ msgstr ""
#: company/templates/company/purchase_orders.html:10
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/navbar.html:90 part/templates/part/navbar.html:93
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -2446,7 +2441,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:414
-#: stock/templates/stock/item_base.html:364 templates/js/company.js:279
+#: stock/templates/stock/item_base.html:369 templates/js/company.js:279
msgid "Supplier Part"
msgstr ""
@@ -2495,7 +2490,7 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
-#: part/templates/part/sale_prices.html:17 part/views.py:2644
+#: part/templates/part/sale_prices.html:17 part/views.py:2733
msgid "Add Price Break"
msgstr ""
@@ -2514,8 +2509,8 @@ msgstr ""
msgid "Delete price break"
msgstr ""
-#: company/views.py:70 part/templates/part/navbar.html:72
-#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: company/views.py:70 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:306
#: templates/navbar.html:36
msgid "Manufacturers"
msgstr "Fabricantes"
@@ -2537,20 +2532,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:169 part/views.py:848
+#: company/views.py:169 part/views.py:937
msgid "Download Image"
msgstr ""
-#: company/views.py:198 part/views.py:880
+#: company/views.py:198 part/views.py:969
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:205 part/views.py:887
+#: company/views.py:205 part/views.py:976
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:214 part/views.py:896
+#: company/views.py:214 part/views.py:985
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2602,7 +2597,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:578 templates/js/stock.js:1286
+#: company/views.py:578 templates/js/stock.js:1291
msgid "Create new Supplier Part"
msgstr ""
@@ -2610,15 +2605,15 @@ msgstr ""
msgid "Delete Supplier Part"
msgstr ""
-#: company/views.py:799 part/views.py:2648
+#: company/views.py:799 part/views.py:2737
msgid "Added new price break"
msgstr ""
-#: company/views.py:855 part/views.py:2692
+#: company/views.py:855 part/views.py:2781
msgid "Edit Price Break"
msgstr ""
-#: company/views.py:870 part/views.py:2706
+#: company/views.py:870 part/views.py:2795
msgid "Delete Price Break"
msgstr ""
@@ -2692,11 +2687,11 @@ msgid "Mark order as complete"
msgstr ""
#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
-#: order/templates/order/sales_order_base.html:59
+#: order/templates/order/sales_order_base.html:61
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+#: order/forms.py:71 order/templates/order/sales_order_base.html:58
msgid "Ship order"
msgstr ""
@@ -2793,7 +2788,7 @@ msgstr ""
msgid "Date order was completed"
msgstr ""
-#: order/models.py:243 part/views.py:1586 stock/models.py:302
+#: order/models.py:243 part/views.py:1675 stock/models.py:302
#: stock/models.py:1018
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2859,8 +2854,8 @@ msgstr ""
#: order/models.py:645 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:319 templates/js/order.js:148
-#: templates/js/stock.js:1045
+#: stock/templates/stock/item_base.html:324 templates/js/order.js:148
+#: templates/js/stock.js:1050
msgid "Purchase Order"
msgstr ""
@@ -2871,7 +2866,7 @@ msgstr ""
#: order/models.py:662 order/templates/order/order_base.html:131
#: order/templates/order/purchase_order_detail.html:189
#: order/templates/order/receive_parts.html:22
-#: order/templates/order/sales_order_base.html:131
+#: order/templates/order/sales_order_base.html:133
msgid "Received"
msgstr ""
@@ -2880,7 +2875,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:669 stock/models.py:540
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:331
msgid "Purchase Price"
msgstr ""
@@ -2888,8 +2883,9 @@ msgstr ""
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:698 part/templates/part/navbar.html:95
-#: part/templates/part/part_pricing.html:78
+#: order/models.py:698 part/templates/part/navbar.html:101
+#: part/templates/part/order_prices.html:82
+#: part/templates/part/part_pricing.html:77
msgid "Sale Price"
msgstr ""
@@ -2940,12 +2936,12 @@ msgid "Are you sure you want to delete this attachment?"
msgstr ""
#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:48
+#: order/templates/order/sales_order_base.html:50
msgid "Print"
msgstr ""
#: order/templates/order/order_base.html:43
-#: order/templates/order/sales_order_base.html:52
+#: order/templates/order/sales_order_base.html:54
msgid "Edit order information"
msgstr ""
@@ -2963,12 +2959,12 @@ msgid "Purchase Order Details"
msgstr ""
#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:77
+#: order/templates/order/sales_order_base.html:79
msgid "Order Reference"
msgstr ""
#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:82
+#: order/templates/order/sales_order_base.html:84
msgid "Order Status"
msgstr ""
@@ -2981,7 +2977,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:100
#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1291
+#: templates/js/stock.js:1296
msgid "New Location"
msgstr ""
@@ -3193,14 +3189,14 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: order/templates/order/receive_parts.html:14 part/api.py:45
#: part/models.py:322 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:99
#: part/templates/part/category_navbar.html:22
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -3215,7 +3211,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:414
+#: part/templates/part/part_base.html:136 templates/js/part.js:414
msgid "On Order"
msgstr ""
@@ -3231,20 +3227,20 @@ msgstr ""
msgid "Remove line"
msgstr ""
-#: order/templates/order/sales_order_base.html:15
-msgid "This SalesOrder has not been fully allocated"
+#: order/templates/order/sales_order_base.html:16
+msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:64
+#: order/templates/order/sales_order_base.html:66
msgid "Packing List"
msgstr ""
-#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/sales_order_base.html:74
#: order/templates/order/so_navbar.html:12
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275
msgid "Customer Reference"
msgstr ""
@@ -3263,7 +3259,7 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:342
+#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358
#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr ""
@@ -3558,7 +3554,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:139 part/templates/part/part_base.html:117
+#: part/bom.py:139 part/templates/part/part_base.html:124
msgid "Available Stock"
msgstr ""
@@ -3631,7 +3627,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:122 part/models.py:2115
+#: part/forms.py:122 part/models.py:2168
msgid "Parent Part"
msgstr ""
@@ -3707,7 +3703,7 @@ msgstr ""
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:344 part/models.py:2209
+#: part/forms.py:344 part/models.py:2262
msgid "Sub part"
msgstr ""
@@ -3727,7 +3723,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:82 part/models.py:2161
+#: part/models.py:82 part/models.py:2214
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -3797,7 +3793,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:724 part/models.py:2160 part/templates/part/detail.html:73
+#: part/models.py:724 part/models.py:2213 part/templates/part/detail.html:73
#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr ""
@@ -3807,7 +3803,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:161
+#: part/templates/part/part_base.html:87 templates/js/part.js:161
msgid "IPN"
msgstr ""
@@ -3852,7 +3848,7 @@ msgstr ""
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:828 part/models.py:2089 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2142 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr ""
@@ -3923,167 +3919,167 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:1987
+#: part/models.py:2040
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2004
+#: part/models.py:2057
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2024 templates/js/part.js:638 templates/js/stock.js:104
+#: part/models.py:2077 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr ""
-#: part/models.py:2025
+#: part/models.py:2078
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2030
+#: part/models.py:2083
msgid "Test Description"
msgstr ""
-#: part/models.py:2031
+#: part/models.py:2084
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2036 templates/js/part.js:647
+#: part/models.py:2089 templates/js/part.js:647
#: templates/js/table_filters.js:223
msgid "Required"
msgstr ""
-#: part/models.py:2037
+#: part/models.py:2090
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2042 templates/js/part.js:655
+#: part/models.py:2095 templates/js/part.js:655
msgid "Requires Value"
msgstr ""
-#: part/models.py:2043
+#: part/models.py:2096
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2048 templates/js/part.js:662
+#: part/models.py:2101 templates/js/part.js:662
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2049
+#: part/models.py:2102
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2082
+#: part/models.py:2135
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2087
+#: part/models.py:2140
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2089
+#: part/models.py:2142
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2117 part/models.py:2166 part/models.py:2167
+#: part/models.py:2170 part/models.py:2219 part/models.py:2220
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Data"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2171 templates/InvenTree/settings/category.html:67
+#: part/models.py:2224 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2225
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2201
+#: part/models.py:2254
msgid "Select parent part"
msgstr ""
-#: part/models.py:2210
+#: part/models.py:2263
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2216
+#: part/models.py:2269
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2218 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2271 templates/js/bom.js:216 templates/js/bom.js:285
msgid "Optional"
msgstr ""
-#: part/models.py:2218
+#: part/models.py:2271
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2221
+#: part/models.py:2274
msgid "Overage"
msgstr ""
-#: part/models.py:2222
+#: part/models.py:2275
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2225
+#: part/models.py:2278
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2228
+#: part/models.py:2281
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "Checksum"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2234 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2287 templates/js/bom.js:295 templates/js/bom.js:302
#: templates/js/table_filters.js:51
msgid "Inherited"
msgstr ""
-#: part/models.py:2235
+#: part/models.py:2288
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2311 part/views.py:1592 part/views.py:1644
+#: part/models.py:2364 part/views.py:1681 part/views.py:1733
#: stock/models.py:292
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2320 part/models.py:2322
+#: part/models.py:2373 part/models.py:2375
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2325
+#: part/models.py:2378
msgid "BOM Item"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2495
msgid "Part 1"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Part 2"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2478
+#: part/models.py:2531
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4151,7 +4147,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:61 part/views.py:1887
+#: part/templates/part/bom.html:61 part/views.py:1976
msgid "Export Bill of Materials"
msgstr ""
@@ -4167,8 +4163,8 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1280
+#: part/templates/part/bom.html:160 part/views.py:585
+#: templates/js/stock.js:1285
msgid "Create New Part"
msgstr ""
@@ -4249,7 +4245,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:29 part/views.py:2290
+#: part/templates/part/category.html:29 part/views.py:2379
msgid "Create new part category"
msgstr ""
@@ -4367,7 +4363,7 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:460
+#: part/templates/part/copy_part.html:9 part/views.py:461
msgid "Duplicate Part"
msgstr ""
@@ -4504,27 +4500,113 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/templates/part/navbar.html:92
+#: part/templates/part/navbar.html:72 part/templates/part/order_prices.html:12
+#, fuzzy
+#| msgid "System Information"
+msgid "Order Price Information"
+msgstr "Información del sistema"
+
+#: part/templates/part/navbar.html:75
+msgid "Order Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:98
msgid "Sales Price Information"
msgstr ""
-#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+#: part/templates/part/navbar.html:112 part/templates/part/part_tests.html:10
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:404
+#: part/templates/part/navbar.html:115 stock/templates/stock/item_base.html:409
msgid "Tests"
msgstr ""
-#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/navbar.html:119 part/templates/part/navbar.html:122
#: part/templates/part/related.html:10
msgid "Related Parts"
msgstr ""
-#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+#: part/templates/part/navbar.html:131 part/templates/part/notes.html:12
msgid "Part Notes"
msgstr ""
+#: part/templates/part/order_prices.html:21
+msgid "Pricing ranges"
+msgstr ""
+
+#: part/templates/part/order_prices.html:26
+#: part/templates/part/part_pricing.html:18
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:27
+#: part/templates/part/order_prices.html:52
+#: part/templates/part/order_prices.html:83
+#: part/templates/part/part_pricing.html:22
+#: part/templates/part/part_pricing.html:48
+#: part/templates/part/part_pricing.html:80
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:34
+#: part/templates/part/order_prices.html:59
+#: part/templates/part/order_prices.html:88
+#: part/templates/part/part_pricing.html:28
+#: part/templates/part/part_pricing.html:54
+#: part/templates/part/part_pricing.html:84
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:42
+#: part/templates/part/part_pricing.html:36
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:51
+#: part/templates/part/order_prices.html:103
+#: part/templates/part/part_pricing.html:44
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:67
+#: part/templates/part/part_pricing.html:62
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/order_prices.html:74
+#: part/templates/part/part_pricing.html:69
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:97
+#: part/templates/part/part_pricing.html:93
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:113
+msgid "Stock Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:121
+msgid "No stock pricing history is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:140
+#, python-format
+msgid "Single Price - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:152
+#, python-format
+msgid "Single Price Difference - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:163
+#, python-format
+msgid "Part Single Price - %(currency)s"
+msgstr ""
+
#: part/templates/part/params.html:17
msgid "Add new parameter"
msgstr ""
@@ -4558,126 +4640,94 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:18
-#, python-format
-msgid "This part is a variant of %(link)s"
-msgstr ""
-
-#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: part/templates/part/part_base.html:26 templates/js/company.js:156
#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr ""
-#: part/templates/part/part_base.html:40
+#: part/templates/part/part_base.html:33
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:47
-#: stock/templates/stock/item_base.html:137
+#: part/templates/part/part_base.html:40
+#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:49
-#: stock/templates/stock/item_base.html:139
+#: part/templates/part/part_base.html:42
+#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:50
-#: stock/templates/stock/item_base.html:155
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:55
+#: part/templates/part/part_base.html:48
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:59
+#: part/templates/part/part_base.html:52
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:74
+#: part/templates/part/part_base.html:67
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:77
+#: part/templates/part/part_base.html:70
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:80
+#: part/templates/part/part_base.html:73
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:83
+#: part/templates/part/part_base.html:76
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:157
+#: part/templates/part/part_base.html:107
+msgid "This is a virtual part"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:130 templates/js/table_filters.js:157
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:143
+#: part/templates/part/part_base.html:150
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:157
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+#: part/templates/part/part_base.html:172 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:171 templates/js/part.js:418
+#: part/templates/part/part_base.html:178 templates/js/part.js:418
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:250
+#: part/templates/part/part_base.html:257
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_pricing.html:19
-msgid "Supplier Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:23
-#: part/templates/part/part_pricing.html:49
-#: part/templates/part/part_pricing.html:81
-msgid "Unit Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:29
-#: part/templates/part/part_pricing.html:55
-#: part/templates/part/part_pricing.html:85
-msgid "Total Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:37
-msgid "No supplier pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:45
-msgid "BOM Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:63
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:70
-msgid "No BOM pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:94
-msgid "No pricing information is available for this part."
-msgstr ""
-
#: part/templates/part/part_tests.html:17
msgid "Add Test Template"
msgstr ""
@@ -4787,212 +4837,212 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:89
+#: part/views.py:90
msgid "Add Related Part"
msgstr ""
-#: part/views.py:144
+#: part/views.py:145
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:158
+#: part/views.py:159
msgid "Add part attachment"
msgstr ""
-#: part/views.py:211 templates/attachment_table.html:32
+#: part/views.py:212 templates/attachment_table.html:32
msgid "Edit attachment"
msgstr ""
-#: part/views.py:215
+#: part/views.py:216
msgid "Part attachment updated"
msgstr ""
-#: part/views.py:230
+#: part/views.py:231
msgid "Delete Part Attachment"
msgstr ""
-#: part/views.py:238
+#: part/views.py:239
msgid "Deleted part attachment"
msgstr ""
-#: part/views.py:247
+#: part/views.py:248
msgid "Create Test Template"
msgstr ""
-#: part/views.py:274
+#: part/views.py:275
msgid "Edit Test Template"
msgstr ""
-#: part/views.py:288
+#: part/views.py:289
msgid "Delete Test Template"
msgstr ""
-#: part/views.py:295
+#: part/views.py:296
msgid "Set Part Category"
msgstr ""
-#: part/views.py:345
+#: part/views.py:346
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:380
+#: part/views.py:381
msgid "Create Variant"
msgstr ""
-#: part/views.py:465
+#: part/views.py:466
msgid "Copied part"
msgstr ""
-#: part/views.py:519 part/views.py:657
+#: part/views.py:520 part/views.py:658
msgid "Possible matches exist - confirm creation of new part"
msgstr ""
-#: part/views.py:589
+#: part/views.py:590
msgid "Created new part"
msgstr ""
-#: part/views.py:825
+#: part/views.py:914
msgid "Part QR Code"
msgstr ""
-#: part/views.py:927
+#: part/views.py:1016
msgid "Upload Part Image"
msgstr ""
-#: part/views.py:933 part/views.py:968
+#: part/views.py:1022 part/views.py:1057
msgid "Updated part image"
msgstr ""
-#: part/views.py:942
+#: part/views.py:1031
msgid "Select Part Image"
msgstr ""
-#: part/views.py:971
+#: part/views.py:1060
msgid "Part image not found"
msgstr ""
-#: part/views.py:982
+#: part/views.py:1071
msgid "Edit Part Properties"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1106
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1047
+#: part/views.py:1136
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1068
+#: part/views.py:1157
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1089
+#: part/views.py:1178
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1100
+#: part/views.py:1189
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1234
+#: part/views.py:1323
msgid "No BOM file provided"
msgstr ""
-#: part/views.py:1595
+#: part/views.py:1684
msgid "Enter a valid quantity"
msgstr ""
-#: part/views.py:1620 part/views.py:1623
+#: part/views.py:1709 part/views.py:1712
msgid "Select valid part"
msgstr ""
-#: part/views.py:1629
+#: part/views.py:1718
msgid "Duplicate part selected"
msgstr ""
-#: part/views.py:1667
+#: part/views.py:1756
msgid "Select a part"
msgstr ""
-#: part/views.py:1673
+#: part/views.py:1762
msgid "Selected part creates a circular BOM"
msgstr ""
-#: part/views.py:1677
+#: part/views.py:1766
msgid "Specify quantity"
msgstr ""
-#: part/views.py:1939
+#: part/views.py:2028
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1946
+#: part/views.py:2035
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1955
+#: part/views.py:2044
msgid "Part Pricing"
msgstr ""
-#: part/views.py:2089
+#: part/views.py:2178
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:2099
+#: part/views.py:2188
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:2106
+#: part/views.py:2195
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:2114
+#: part/views.py:2203
msgid "Create Part Parameter"
msgstr ""
-#: part/views.py:2164
+#: part/views.py:2253
msgid "Edit Part Parameter"
msgstr ""
-#: part/views.py:2178
+#: part/views.py:2267
msgid "Delete Part Parameter"
msgstr ""
-#: part/views.py:2238
+#: part/views.py:2327
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:2276
+#: part/views.py:2365
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:2282
+#: part/views.py:2371
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:2334
+#: part/views.py:2423
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2435
+#: part/views.py:2524
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2491
+#: part/views.py:2580
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2510
+#: part/views.py:2599
msgid "Create BOM Item"
msgstr ""
-#: part/views.py:2580
+#: part/views.py:2669
msgid "Edit BOM item"
msgstr ""
-#: part/views.py:2636
+#: part/views.py:2725
msgid "Confim BOM item deletion"
msgstr ""
@@ -5127,7 +5177,7 @@ msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507
-#: stock/templates/stock/item_base.html:371 templates/js/stock.js:656
+#: stock/templates/stock/item_base.html:376 templates/js/stock.js:656
msgid "Expiry Date"
msgstr ""
@@ -5277,7 +5327,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:435 stock/templates/stock/item_base.html:265
+#: stock/models.py:435 stock/templates/stock/item_base.html:270
msgid "Installed In"
msgstr ""
@@ -5412,173 +5462,173 @@ msgstr ""
msgid "Stock Item Attachments"
msgstr ""
-#: stock/templates/stock/item_base.html:24
-msgid "You are not in the list of owners of this item. This stock item cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:31
-msgid "This stock item is in production and cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:32
-msgid "Edit the stock item from the build view."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:45
-msgid "This stock item has not passed all required tests"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:53
-#, python-format
-msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:61
-#, python-format
-msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:67
-msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:71
-msgid "This stock item cannot be deleted as it has child items"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:75
-msgid "This stock item will be automatically deleted when all stock is depleted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:375 templates/js/table_filters.js:146
+#: stock/templates/stock/item_base.html:33
+#: stock/templates/stock/item_base.html:380 templates/js/table_filters.js:146
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:105
-#: stock/templates/stock/item_base.html:377 templates/js/table_filters.js:151
+#: stock/templates/stock/item_base.html:43
+#: stock/templates/stock/item_base.html:382 templates/js/table_filters.js:151
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:142 templates/js/barcode.js:309
+#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
#: templates/js/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:144
+#: stock/templates/stock/item_base.html:82
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:146 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:91
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:157
+#: stock/templates/stock/item_base.html:95
#: stock/templates/stock/item_tests.html:27
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item_base.html:166
+#: stock/templates/stock/item_base.html:104
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:170
+#: stock/templates/stock/item_base.html:108
#: stock/templates/stock/location.html:65 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:173 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:176 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:117
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:183
+#: stock/templates/stock/item_base.html:121
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:186
+#: stock/templates/stock/item_base.html:124
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:189
+#: stock/templates/stock/item_base.html:127
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:193 templates/js/stock.js:1421
+#: stock/templates/stock/item_base.html:131 templates/js/stock.js:1426
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:193
+#: stock/templates/stock/item_base.html:131
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:140
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: stock/templates/stock/item_base.html:205
+#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:146
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:148
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:213
+#: stock/templates/stock/item_base.html:151
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:225
+#: stock/templates/stock/item_base.html:171
+msgid "You are not in the list of owners of this item. This stock item cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:178
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:179
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:192
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:200
+#, python-format
+msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:208
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:214
+msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:218
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:222
+msgid "This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:230
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:284 templates/js/build.js:498
+#: stock/templates/stock/item_base.html:289 templates/js/build.js:498
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:291
+#: stock/templates/stock/item_base.html:296
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:333
+#: stock/templates/stock/item_base.html:338
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:380
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:377
+#: stock/templates/stock/item_base.html:382
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:384 templates/js/stock.js:662
+#: stock/templates/stock/item_base.html:389 templates/js/stock.js:662
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:389
+#: stock/templates/stock/item_base.html:394
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:398
msgid "No stocktake performed"
msgstr ""
@@ -6067,7 +6117,8 @@ msgstr ""
#: templates/InvenTree/settings/appearance.html:29
#, python-format
-msgid "\n"
+msgid ""
+"\n"
" The CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected color theme was not found.
\n"
" Please select another color theme :)\n"
" "
@@ -6107,11 +6158,35 @@ msgstr ""
msgid "Delete Template"
msgstr ""
+#: templates/InvenTree/settings/currencies.html:10
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
+msgstr ""
+
#: templates/InvenTree/settings/global.html:10
msgid "Global InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:27
+#: templates/InvenTree/settings/global.html:26
msgid "Barcode Settings"
msgstr ""
@@ -6190,10 +6265,14 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:25
msgid "Categories"
msgstr ""
@@ -6239,46 +6318,50 @@ msgid "Update Available"
msgstr ""
#: templates/about.html:34
+msgid "API Version"
+msgstr ""
+
+#: templates/about.html:39
msgid "Django Version"
msgstr ""
-#: templates/about.html:41
+#: templates/about.html:46
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:48
+#: templates/about.html:53
msgid "Commit Date"
msgstr ""
-#: templates/about.html:53
+#: templates/about.html:58
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:58
+#: templates/about.html:63
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:63
+#: templates/about.html:68
msgid "Credits"
msgstr ""
-#: templates/about.html:68
+#: templates/about.html:73
msgid "Mobile App"
msgstr ""
-#: templates/about.html:73
+#: templates/about.html:78
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:80 templates/clip.html:4
+#: templates/about.html:85 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:85
msgid "copy version information"
msgstr ""
-#: templates/about.html:90 templates/js/modals.js:568
+#: templates/about.html:95 templates/js/modals.js:568
#: templates/js/modals.js:846 templates/modals.html:29 templates/modals.html:54
#: templates/modals.html:97
msgid "Close"
@@ -6408,41 +6491,49 @@ msgstr ""
msgid "Open subassembly"
msgstr ""
-#: templates/js/bom.js:261
+#: templates/js/bom.js:249
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/bom.js:257
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/bom.js:277
msgid "No pricing available"
msgstr ""
-#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/bom.js:288 templates/js/filters.js:167
#: templates/js/filters.js:397
msgid "true"
msgstr ""
-#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/bom.js:289 templates/js/filters.js:171
#: templates/js/filters.js:398
msgid "false"
msgstr ""
-#: templates/js/bom.js:290 templates/js/bom.js:376
+#: templates/js/bom.js:306 templates/js/bom.js:392
msgid "View BOM"
msgstr ""
-#: templates/js/bom.js:350
+#: templates/js/bom.js:366
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/bom.js:352
+#: templates/js/bom.js:368
msgid "This line has been validated"
msgstr ""
-#: templates/js/bom.js:354
+#: templates/js/bom.js:370
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/bom.js:356
+#: templates/js/bom.js:372
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+#: templates/js/bom.js:463 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr ""
@@ -6485,7 +6576,7 @@ msgstr ""
#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
#: templates/js/stock.js:511 templates/js/stock.js:938
-#: templates/js/stock.js:1453
+#: templates/js/stock.js:1458
msgid "Select"
msgstr ""
@@ -6748,6 +6839,10 @@ msgstr ""
msgid "This test is defined for a parent part"
msgstr ""
+#: templates/js/part.js:727
+msgid "Single Price Difference"
+msgstr ""
+
#: templates/js/report.js:47
msgid "items selected"
msgstr ""
@@ -6942,55 +7037,55 @@ msgstr ""
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1036
+#: templates/js/stock.js:1041
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1055
+#: templates/js/stock.js:1060
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1074
+#: templates/js/stock.js:1079
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1097
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1115
+#: templates/js/stock.js:1120
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1123
+#: templates/js/stock.js:1128
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1155
+#: templates/js/stock.js:1160
msgid "No user information"
msgstr ""
-#: templates/js/stock.js:1167
+#: templates/js/stock.js:1172
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1168
+#: templates/js/stock.js:1173
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1292
+#: templates/js/stock.js:1297
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1391
+#: templates/js/stock.js:1396
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1484 templates/js/table_filters.js:172
+#: templates/js/stock.js:1489 templates/js/table_filters.js:172
msgid "Installed"
msgstr ""
-#: templates/js/stock.js:1509
+#: templates/js/stock.js:1514
msgid "Install item"
msgstr ""
@@ -7472,4 +7567,3 @@ msgstr ""
#: users/models.py:187
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 9f32eeb22f..7db5f3a3d4 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: 2021-05-17 10:46+0000\n"
-"PO-Revision-Date: 2021-05-17 10:47\n"
+"POT-Creation-Date: 2021-05-29 07:28+0000\n"
+"PO-Revision-Date: 2021-05-28 04:02\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -33,42 +33,42 @@ msgstr ""
msgid "Enter date"
msgstr "Entrer la date"
-#: InvenTree/forms.py:110 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "Confirmer"
-#: InvenTree/forms.py:126
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr "Confirmer la suppression"
-#: InvenTree/forms.py:127
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr "Confirmer la suppression de cet élément"
-#: InvenTree/forms.py:159 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr "Entrer le mot de passe"
-#: InvenTree/forms.py:160
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr "Entrer le nouveau mot de passe"
-#: InvenTree/forms.py:167
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "Confirmez le mot de passe"
-#: InvenTree/forms.py:168
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "Confirmer le nouveau mot de passe"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:233
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -122,9 +122,9 @@ msgstr "Commentaire"
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1946
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1146
+#: templates/js/stock.js:1151
msgid "User"
msgstr ""
@@ -133,7 +133,7 @@ msgid "upload date"
msgstr ""
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:102
-#: part/models.py:686 part/models.py:2087 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/part.js:110
#: templates/js/part.js:553 templates/js/stock.js:944
@@ -171,23 +171,23 @@ msgstr "Description (facultative)"
msgid "parent"
msgstr "parent"
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -232,7 +232,7 @@ msgid "Returned"
msgstr ""
#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:124
+#: order/templates/order/sales_order_base.html:126
msgid "Shipped"
msgstr ""
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:587
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr "Supprimer cet élément"
-#: InvenTree/views.py:636
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:681
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:887 templates/navbar.html:95
+#: InvenTree/views.py:937 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -444,10 +444,10 @@ msgstr ""
msgid "Order target date"
msgstr ""
-#: build/forms.py:42 build/templates/build/build_base.html:136
+#: build/forms.py:42 build/templates/build/build_base.html:146
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:117
+#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
@@ -461,8 +461,8 @@ msgstr ""
#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1245
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:123
-#: build/templates/build/detail.html:31 common/models.py:705
+#: build/templates/build/build_base.html:133
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -473,20 +473,22 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:162
#: order/templates/order/sales_order_detail.html:230 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2216
+#: part/forms.py:371 part/forms.py:387 part/models.py:2269
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
-#: part/templates/part/part_pricing.html:13
+#: part/templates/part/order_prices.html:175
+#: part/templates/part/part_pricing.html:12
#: part/templates/part/sale_prices.html:85
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
#: stock/forms.py:175 stock/forms.py:308
-#: stock/templates/stock/item_base.html:250
+#: stock/templates/stock/item_base.html:255
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
-#: templates/js/stock.js:1131 templates/js/stock.js:1393
+#: templates/js/part.js:717 templates/js/stock.js:1136
+#: templates/js/stock.js:1398
msgid "Quantity"
msgstr ""
@@ -528,11 +530,11 @@ msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
-#: stock/templates/stock/item_base.html:280
+#: stock/templates/stock/item_base.html:285
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:490
-#: templates/js/stock.js:641 templates/js/stock.js:1023
+#: templates/js/stock.js:641 templates/js/stock.js:1028
msgid "Location"
msgstr ""
@@ -540,14 +542,14 @@ msgstr ""
msgid "Location of completed parts"
msgstr ""
-#: build/forms.py:215 build/templates/build/build_base.html:128
+#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:59 order/models.py:466
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:398 templates/InvenTree/search.html:252
+#: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:770
#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1100
-#: templates/js/stock.js:1401
+#: templates/js/stock.js:628 templates/js/stock.js:1105
+#: templates/js/stock.js:1406
msgid "Status"
msgstr ""
@@ -580,7 +582,7 @@ msgid "Select quantity of stock to allocate"
msgstr ""
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:63
+#: build/templates/build/build_base.html:73
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -592,7 +594,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -602,7 +604,7 @@ msgstr ""
#: build/models.py:127 order/models.py:99 order/models.py:616
#: order/templates/order/purchase_order_detail.html:170
-#: order/templates/order/sales_order_detail.html:225 part/models.py:2225
+#: order/templates/order/sales_order_detail.html:225 part/models.py:2278
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
#: templates/js/build.js:565 templates/js/build.js:1008
@@ -613,7 +615,7 @@ msgstr ""
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/models.py:146 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr ""
@@ -623,17 +625,17 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:128
#: build/templates/build/detail.html:26 company/models.py:622
#: order/models.py:658 order/models.py:691
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:131
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:213 part/models.py:321
-#: part/models.py:1914 part/models.py:1926 part/models.py:1944
-#: part/models.py:2019 part/models.py:2115 part/models.py:2200
+#: part/models.py:1967 part/models.py:1979 part/models.py:1997
+#: part/models.py:2072 part/models.py:2168 part/models.py:2253
#: part/templates/part/part_app_base.html:8
-#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29
+#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
@@ -643,7 +645,7 @@ msgstr ""
#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
-#: templates/js/stock.js:1465
+#: templates/js/stock.js:1470
msgid "Part"
msgstr ""
@@ -691,7 +693,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:204 part/templates/part/part_base.html:160
+#: build/models.py:204 part/templates/part/part_base.html:167
msgid "Build Status"
msgstr ""
@@ -732,10 +734,10 @@ msgstr ""
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/models.py:250 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: order/templates/order/sales_order_base.html:140 part/models.py:886
#: report/templates/report/inventree_build_order_base.html:159
msgid "Responsible"
msgstr ""
@@ -749,8 +751,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:28
#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
-#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
-#: stock/models.py:458 stock/templates/stock/item_base.html:340
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:94
+#: stock/models.py:458 stock/templates/stock/item_base.html:345
msgid "External Link"
msgstr ""
@@ -768,12 +770,12 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:278
#: order/templates/order/so_navbar.html:33
#: order/templates/order/so_navbar.html:36 part/models.py:871
-#: part/templates/part/navbar.html:128
+#: part/templates/part/navbar.html:134
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+#: templates/js/bom.js:349 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
msgstr ""
@@ -823,7 +825,7 @@ msgstr ""
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1224 stock/templates/stock/item_base.html:312
+#: build/models.py:1224 stock/templates/stock/item_base.html:317
#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
@@ -838,10 +840,10 @@ msgstr ""
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/item_base.html:334
+#: stock/templates/stock/item_base.html:31
+#: stock/templates/stock/item_base.html:339
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
-#: templates/js/stock.js:1082 templates/js/stock.js:1384
+#: templates/js/stock.js:1087 templates/js/stock.js:1389
msgid "Stock Item"
msgstr ""
@@ -913,7 +915,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: order/templates/order/sales_order_detail.html:160
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:452 stock/templates/stock/item_base.html:244
+#: stock/models.py:452 stock/templates/stock/item_base.html:249
#: templates/js/build.js:474
msgid "Serial Number"
msgstr ""
@@ -921,8 +923,8 @@ msgstr ""
#: build/templates/build/attachments.html:12
#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
-#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
-#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:125
+#: part/templates/part/navbar.html:128 stock/templates/stock/navbar.html:47
#: stock/templates/stock/navbar.html:50
msgid "Attachments"
msgstr ""
@@ -943,119 +945,119 @@ msgstr ""
msgid "Stock items will have to be manually allocated"
msgstr ""
-#: build/templates/build/build_base.html:16
+#: build/templates/build/build_base.html:18
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:22
+#: build/templates/build/build_base.html:25
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:31
+#: build/templates/build/build_base.html:32
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:36
+#: build/templates/build/build_base.html:37
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:41
+#: build/templates/build/build_base.html:42
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:46
+#: build/templates/build/build_base.html:47
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:75
#: company/templates/company/company_base.html:40
#: company/templates/company/manufacturer_part_base.html:25
#: company/templates/company/supplier_part_base.html:26
#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:124
+#: order/templates/order/sales_order_base.html:37
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:22
+#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
msgstr ""
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:81
+#: build/templates/build/build_base.html:150
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:41
-#: order/templates/order/sales_order_base.html:86
+#: order/templates/order/sales_order_base.html:43
+#: order/templates/order/sales_order_base.html:88
#: templates/js/table_filters.js:241 templates/js/table_filters.js:260
#: templates/js/table_filters.js:277
msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:80
+#: build/templates/build/build_base.html:90
msgid "Print actions"
msgstr ""
-#: build/templates/build/build_base.html:84
+#: build/templates/build/build_base.html:94
msgid "Print Build Order"
msgstr ""
-#: build/templates/build/build_base.html:90
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:100
+#: build/templates/build/build_base.html:225
msgid "Complete Build"
msgstr ""
-#: build/templates/build/build_base.html:95
+#: build/templates/build/build_base.html:105
msgid "Build actions"
msgstr ""
-#: build/templates/build/build_base.html:99
+#: build/templates/build/build_base.html:109
msgid "Edit Build"
msgstr ""
-#: build/templates/build/build_base.html:101
-#: build/templates/build/build_base.html:199 build/views.py:57
+#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:209 build/views.py:57
msgid "Cancel Build"
msgstr ""
-#: build/templates/build/build_base.html:114
+#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr ""
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:150
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:147
+#: build/templates/build/build_base.html:157
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr ""
-#: build/templates/build/build_base.html:160
+#: build/templates/build/build_base.html:170
#: build/templates/build/detail.html:84 order/models.py:689
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_base.html:35
#: order/templates/order/sales_order_ship.html:25
#: part/templates/part/allocation.html:30
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:274 templates/js/order.js:245
+#: stock/templates/stock/item_base.html:279 templates/js/order.js:245
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:167
+#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:207
+#: build/templates/build/build_base.html:217
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:208
+#: build/templates/build/build_base.html:218
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1191,15 +1193,15 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:298 templates/js/stock.js:636
-#: templates/js/stock.js:1408 templates/js/table_filters.js:108
+#: stock/templates/stock/item_base.html:303 templates/js/stock.js:636
+#: templates/js/stock.js:1413 templates/js/table_filters.js:108
#: templates/js/table_filters.js:202
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+#: order/templates/order/sales_order_base.html:113 templates/js/build.js:778
msgid "Created"
msgstr ""
@@ -1282,8 +1284,8 @@ msgstr ""
#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
#: order/templates/order/order_notes.html:27
#: order/templates/order/sales_order_notes.html:29
-#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:477
-#: stock/templates/stock/item_base.html:487
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:482
+#: stock/templates/stock/item_base.html:492
#: stock/templates/stock/item_notes.html:26
msgid "Save"
msgstr ""
@@ -1429,7 +1431,7 @@ msgstr ""
msgid "Add Build Order Attachment"
msgstr ""
-#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:172
+#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:173
#: stock/views.py:277
msgid "Added attachment"
msgstr ""
@@ -1466,368 +1468,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:38 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:39
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:55
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
msgid "Download from URL"
msgstr ""
-#: common/models.py:92
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:98
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:99
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:105
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:106
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:110
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:111
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:124
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:125
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:146
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:153
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:159 part/models.py:2117 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:160
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:166 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:167
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:173 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:174
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:180 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:181
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:187 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:194 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:201 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:202
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:208
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:209
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:215 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:216
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:222
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:223
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:233
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:234
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:241
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:247
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:248
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:254
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:255
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:257 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:262
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:263
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:269
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:270
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:276
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:277
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:283
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:284
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:290
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:291
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:296
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:297
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:301
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:302
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:307
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:308
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:531
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:533
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:568
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:591
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:602
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:625
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:706 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:714 company/templates/company/supplier_part_pricing.html:82
-#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:271
msgid "Price"
msgstr ""
-#: common/models.py:715
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:804
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -1882,7 +1876,7 @@ msgstr ""
msgid "Image URL"
msgstr ""
-#: company/forms.py:118
+#: company/forms.py:118 templates/js/part.js:708
msgid "Single Price"
msgstr ""
@@ -1998,7 +1992,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:305 company/models.py:456 stock/models.py:405
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:235
msgid "Base Part"
msgstr ""
@@ -2011,7 +2005,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:25
#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:347
+#: part/bom.py:241 stock/templates/stock/item_base.html:352
#: templates/js/company.js:44 templates/js/company.js:165
#: templates/js/company.js:289
msgid "Manufacturer"
@@ -2030,7 +2024,7 @@ msgstr ""
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:359
+#: part/bom.py:286 stock/templates/stock/item_base.html:364
#: templates/js/company.js:48 templates/js/company.js:263
#: templates/js/order.js:170
msgid "Supplier"
@@ -2054,7 +2048,7 @@ msgstr ""
#: company/models.py:479
#: company/templates/company/manufacturer_part_base.html:6
#: company/templates/company/manufacturer_part_base.html:19
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:357
msgid "Manufacturer Part"
msgstr ""
@@ -2071,7 +2065,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:497 company/templates/company/supplier_part_base.html:116
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2228
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2281
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -2086,7 +2080,7 @@ msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:503 company/templates/company/supplier_part_base.html:109
-#: stock/models.py:429 stock/templates/stock/item_base.html:305
+#: stock/models.py:429 stock/templates/stock/item_base.html:310
#: templates/js/stock.js:667
msgid "Packaging"
msgstr ""
@@ -2154,7 +2148,8 @@ msgstr ""
#: company/templates/company/delete.html:12
#, python-format
-msgid "There are %(count)s parts sourced from this company.
\n"
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
"If this supplier is deleted, these supplier part entries will also be deleted."
msgstr ""
@@ -2171,10 +2166,10 @@ msgid "Uses default currency"
msgstr ""
#: company/templates/company/detail.html:67 order/models.py:461
-#: order/templates/order/sales_order_base.html:92 stock/models.py:447
-#: stock/models.py:448 stock/templates/stock/item_base.html:257
+#: order/templates/order/sales_order_base.html:94 stock/models.py:447
+#: stock/models.py:448 stock/templates/stock/item_base.html:262
#: templates/js/company.js:40 templates/js/order.js:267
-#: templates/js/stock.js:1064
+#: templates/js/stock.js:1069
msgid "Customer"
msgstr ""
@@ -2220,7 +2215,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1279
+#: templates/js/stock.js:1284
msgid "New Part"
msgstr ""
@@ -2267,7 +2262,7 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:49
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1285
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1290
msgid "New Supplier Part"
msgstr ""
@@ -2290,7 +2285,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
msgid "Order part"
msgstr ""
@@ -2324,8 +2319,8 @@ msgid "There are %(count)s suppliers defined for this manufacturer part. If you
msgstr ""
#: company/templates/company/manufacturer_part_navbar.html:14
-#: company/views.py:63 part/templates/part/navbar.html:78
-#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: company/views.py:63 part/templates/part/navbar.html:84
+#: part/templates/part/navbar.html:87 templates/InvenTree/search.html:316
#: templates/navbar.html:35
msgid "Suppliers"
msgstr ""
@@ -2342,7 +2337,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2400,10 +2395,10 @@ msgstr ""
#: company/templates/company/sales_orders.html:11
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
-#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/navbar.html:104 part/templates/part/navbar.html:107
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2412,10 +2407,10 @@ msgstr ""
#: company/templates/company/purchase_orders.html:10
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/navbar.html:90 part/templates/part/navbar.html:93
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -2446,7 +2441,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:414
-#: stock/templates/stock/item_base.html:364 templates/js/company.js:279
+#: stock/templates/stock/item_base.html:369 templates/js/company.js:279
msgid "Supplier Part"
msgstr ""
@@ -2495,7 +2490,7 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
-#: part/templates/part/sale_prices.html:17 part/views.py:2644
+#: part/templates/part/sale_prices.html:17 part/views.py:2733
msgid "Add Price Break"
msgstr ""
@@ -2514,8 +2509,8 @@ msgstr ""
msgid "Delete price break"
msgstr ""
-#: company/views.py:70 part/templates/part/navbar.html:72
-#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: company/views.py:70 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:306
#: templates/navbar.html:36
msgid "Manufacturers"
msgstr ""
@@ -2537,20 +2532,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:169 part/views.py:848
+#: company/views.py:169 part/views.py:937
msgid "Download Image"
msgstr ""
-#: company/views.py:198 part/views.py:880
+#: company/views.py:198 part/views.py:969
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:205 part/views.py:887
+#: company/views.py:205 part/views.py:976
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:214 part/views.py:896
+#: company/views.py:214 part/views.py:985
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2602,7 +2597,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:578 templates/js/stock.js:1286
+#: company/views.py:578 templates/js/stock.js:1291
msgid "Create new Supplier Part"
msgstr ""
@@ -2610,15 +2605,15 @@ msgstr ""
msgid "Delete Supplier Part"
msgstr ""
-#: company/views.py:799 part/views.py:2648
+#: company/views.py:799 part/views.py:2737
msgid "Added new price break"
msgstr ""
-#: company/views.py:855 part/views.py:2692
+#: company/views.py:855 part/views.py:2781
msgid "Edit Price Break"
msgstr ""
-#: company/views.py:870 part/views.py:2706
+#: company/views.py:870 part/views.py:2795
msgid "Delete Price Break"
msgstr ""
@@ -2692,11 +2687,11 @@ msgid "Mark order as complete"
msgstr ""
#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
-#: order/templates/order/sales_order_base.html:59
+#: order/templates/order/sales_order_base.html:61
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+#: order/forms.py:71 order/templates/order/sales_order_base.html:58
msgid "Ship order"
msgstr ""
@@ -2793,7 +2788,7 @@ msgstr ""
msgid "Date order was completed"
msgstr ""
-#: order/models.py:243 part/views.py:1586 stock/models.py:302
+#: order/models.py:243 part/views.py:1675 stock/models.py:302
#: stock/models.py:1018
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2859,8 +2854,8 @@ msgstr ""
#: order/models.py:645 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:319 templates/js/order.js:148
-#: templates/js/stock.js:1045
+#: stock/templates/stock/item_base.html:324 templates/js/order.js:148
+#: templates/js/stock.js:1050
msgid "Purchase Order"
msgstr ""
@@ -2871,7 +2866,7 @@ msgstr ""
#: order/models.py:662 order/templates/order/order_base.html:131
#: order/templates/order/purchase_order_detail.html:189
#: order/templates/order/receive_parts.html:22
-#: order/templates/order/sales_order_base.html:131
+#: order/templates/order/sales_order_base.html:133
msgid "Received"
msgstr ""
@@ -2880,7 +2875,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:669 stock/models.py:540
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:331
msgid "Purchase Price"
msgstr ""
@@ -2888,8 +2883,9 @@ msgstr ""
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:698 part/templates/part/navbar.html:95
-#: part/templates/part/part_pricing.html:78
+#: order/models.py:698 part/templates/part/navbar.html:101
+#: part/templates/part/order_prices.html:82
+#: part/templates/part/part_pricing.html:77
msgid "Sale Price"
msgstr ""
@@ -2940,12 +2936,12 @@ msgid "Are you sure you want to delete this attachment?"
msgstr ""
#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:48
+#: order/templates/order/sales_order_base.html:50
msgid "Print"
msgstr ""
#: order/templates/order/order_base.html:43
-#: order/templates/order/sales_order_base.html:52
+#: order/templates/order/sales_order_base.html:54
msgid "Edit order information"
msgstr ""
@@ -2963,12 +2959,12 @@ msgid "Purchase Order Details"
msgstr ""
#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:77
+#: order/templates/order/sales_order_base.html:79
msgid "Order Reference"
msgstr ""
#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:82
+#: order/templates/order/sales_order_base.html:84
msgid "Order Status"
msgstr ""
@@ -2981,7 +2977,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:100
#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1291
+#: templates/js/stock.js:1296
msgid "New Location"
msgstr ""
@@ -3193,14 +3189,14 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: order/templates/order/receive_parts.html:14 part/api.py:45
#: part/models.py:322 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:99
#: part/templates/part/category_navbar.html:22
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -3215,7 +3211,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:414
+#: part/templates/part/part_base.html:136 templates/js/part.js:414
msgid "On Order"
msgstr ""
@@ -3231,20 +3227,20 @@ msgstr ""
msgid "Remove line"
msgstr ""
-#: order/templates/order/sales_order_base.html:15
-msgid "This SalesOrder has not been fully allocated"
+#: order/templates/order/sales_order_base.html:16
+msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:64
+#: order/templates/order/sales_order_base.html:66
msgid "Packing List"
msgstr ""
-#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/sales_order_base.html:74
#: order/templates/order/so_navbar.html:12
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275
msgid "Customer Reference"
msgstr ""
@@ -3263,7 +3259,7 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:342
+#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358
#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr ""
@@ -3558,7 +3554,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:139 part/templates/part/part_base.html:117
+#: part/bom.py:139 part/templates/part/part_base.html:124
msgid "Available Stock"
msgstr ""
@@ -3631,7 +3627,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:122 part/models.py:2115
+#: part/forms.py:122 part/models.py:2168
msgid "Parent Part"
msgstr ""
@@ -3707,7 +3703,7 @@ msgstr ""
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:344 part/models.py:2209
+#: part/forms.py:344 part/models.py:2262
msgid "Sub part"
msgstr ""
@@ -3727,7 +3723,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:82 part/models.py:2161
+#: part/models.py:82 part/models.py:2214
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -3797,7 +3793,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:724 part/models.py:2160 part/templates/part/detail.html:73
+#: part/models.py:724 part/models.py:2213 part/templates/part/detail.html:73
#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr ""
@@ -3807,7 +3803,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:161
+#: part/templates/part/part_base.html:87 templates/js/part.js:161
msgid "IPN"
msgstr ""
@@ -3852,7 +3848,7 @@ msgstr ""
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:828 part/models.py:2089 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2142 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr ""
@@ -3923,167 +3919,167 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:1987
+#: part/models.py:2040
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2004
+#: part/models.py:2057
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2024 templates/js/part.js:638 templates/js/stock.js:104
+#: part/models.py:2077 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr ""
-#: part/models.py:2025
+#: part/models.py:2078
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2030
+#: part/models.py:2083
msgid "Test Description"
msgstr ""
-#: part/models.py:2031
+#: part/models.py:2084
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2036 templates/js/part.js:647
+#: part/models.py:2089 templates/js/part.js:647
#: templates/js/table_filters.js:223
msgid "Required"
msgstr ""
-#: part/models.py:2037
+#: part/models.py:2090
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2042 templates/js/part.js:655
+#: part/models.py:2095 templates/js/part.js:655
msgid "Requires Value"
msgstr ""
-#: part/models.py:2043
+#: part/models.py:2096
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2048 templates/js/part.js:662
+#: part/models.py:2101 templates/js/part.js:662
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2049
+#: part/models.py:2102
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2082
+#: part/models.py:2135
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2087
+#: part/models.py:2140
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2089
+#: part/models.py:2142
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2117 part/models.py:2166 part/models.py:2167
+#: part/models.py:2170 part/models.py:2219 part/models.py:2220
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Data"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2171 templates/InvenTree/settings/category.html:67
+#: part/models.py:2224 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2225
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2201
+#: part/models.py:2254
msgid "Select parent part"
msgstr ""
-#: part/models.py:2210
+#: part/models.py:2263
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2216
+#: part/models.py:2269
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2218 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2271 templates/js/bom.js:216 templates/js/bom.js:285
msgid "Optional"
msgstr ""
-#: part/models.py:2218
+#: part/models.py:2271
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2221
+#: part/models.py:2274
msgid "Overage"
msgstr ""
-#: part/models.py:2222
+#: part/models.py:2275
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2225
+#: part/models.py:2278
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2228
+#: part/models.py:2281
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "Checksum"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2234 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2287 templates/js/bom.js:295 templates/js/bom.js:302
#: templates/js/table_filters.js:51
msgid "Inherited"
msgstr ""
-#: part/models.py:2235
+#: part/models.py:2288
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2311 part/views.py:1592 part/views.py:1644
+#: part/models.py:2364 part/views.py:1681 part/views.py:1733
#: stock/models.py:292
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2320 part/models.py:2322
+#: part/models.py:2373 part/models.py:2375
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2325
+#: part/models.py:2378
msgid "BOM Item"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2495
msgid "Part 1"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Part 2"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2478
+#: part/models.py:2531
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4151,7 +4147,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:61 part/views.py:1887
+#: part/templates/part/bom.html:61 part/views.py:1976
msgid "Export Bill of Materials"
msgstr ""
@@ -4167,8 +4163,8 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1280
+#: part/templates/part/bom.html:160 part/views.py:585
+#: templates/js/stock.js:1285
msgid "Create New Part"
msgstr ""
@@ -4249,7 +4245,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:29 part/views.py:2290
+#: part/templates/part/category.html:29 part/views.py:2379
msgid "Create new part category"
msgstr ""
@@ -4367,7 +4363,7 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:460
+#: part/templates/part/copy_part.html:9 part/views.py:461
msgid "Duplicate Part"
msgstr ""
@@ -4504,27 +4500,111 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/templates/part/navbar.html:92
+#: part/templates/part/navbar.html:72 part/templates/part/order_prices.html:12
+msgid "Order Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:75
+msgid "Order Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:98
msgid "Sales Price Information"
msgstr ""
-#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+#: part/templates/part/navbar.html:112 part/templates/part/part_tests.html:10
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:404
+#: part/templates/part/navbar.html:115 stock/templates/stock/item_base.html:409
msgid "Tests"
msgstr ""
-#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/navbar.html:119 part/templates/part/navbar.html:122
#: part/templates/part/related.html:10
msgid "Related Parts"
msgstr ""
-#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+#: part/templates/part/navbar.html:131 part/templates/part/notes.html:12
msgid "Part Notes"
msgstr ""
+#: part/templates/part/order_prices.html:21
+msgid "Pricing ranges"
+msgstr ""
+
+#: part/templates/part/order_prices.html:26
+#: part/templates/part/part_pricing.html:18
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:27
+#: part/templates/part/order_prices.html:52
+#: part/templates/part/order_prices.html:83
+#: part/templates/part/part_pricing.html:22
+#: part/templates/part/part_pricing.html:48
+#: part/templates/part/part_pricing.html:80
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:34
+#: part/templates/part/order_prices.html:59
+#: part/templates/part/order_prices.html:88
+#: part/templates/part/part_pricing.html:28
+#: part/templates/part/part_pricing.html:54
+#: part/templates/part/part_pricing.html:84
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:42
+#: part/templates/part/part_pricing.html:36
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:51
+#: part/templates/part/order_prices.html:103
+#: part/templates/part/part_pricing.html:44
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:67
+#: part/templates/part/part_pricing.html:62
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/order_prices.html:74
+#: part/templates/part/part_pricing.html:69
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:97
+#: part/templates/part/part_pricing.html:93
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:113
+msgid "Stock Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:121
+msgid "No stock pricing history is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:140
+#, python-format
+msgid "Single Price - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:152
+#, python-format
+msgid "Single Price Difference - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:163
+#, python-format
+msgid "Part Single Price - %(currency)s"
+msgstr ""
+
#: part/templates/part/params.html:17
msgid "Add new parameter"
msgstr ""
@@ -4558,126 +4638,94 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:18
-#, python-format
-msgid "This part is a variant of %(link)s"
-msgstr ""
-
-#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: part/templates/part/part_base.html:26 templates/js/company.js:156
#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr ""
-#: part/templates/part/part_base.html:40
+#: part/templates/part/part_base.html:33
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:47
-#: stock/templates/stock/item_base.html:137
+#: part/templates/part/part_base.html:40
+#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:49
-#: stock/templates/stock/item_base.html:139
+#: part/templates/part/part_base.html:42
+#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:50
-#: stock/templates/stock/item_base.html:155
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:55
+#: part/templates/part/part_base.html:48
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:59
+#: part/templates/part/part_base.html:52
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:74
+#: part/templates/part/part_base.html:67
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:77
+#: part/templates/part/part_base.html:70
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:80
+#: part/templates/part/part_base.html:73
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:83
+#: part/templates/part/part_base.html:76
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:157
+#: part/templates/part/part_base.html:107
+msgid "This is a virtual part"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:130 templates/js/table_filters.js:157
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:143
+#: part/templates/part/part_base.html:150
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:157
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+#: part/templates/part/part_base.html:172 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:171 templates/js/part.js:418
+#: part/templates/part/part_base.html:178 templates/js/part.js:418
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:250
+#: part/templates/part/part_base.html:257
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_pricing.html:19
-msgid "Supplier Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:23
-#: part/templates/part/part_pricing.html:49
-#: part/templates/part/part_pricing.html:81
-msgid "Unit Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:29
-#: part/templates/part/part_pricing.html:55
-#: part/templates/part/part_pricing.html:85
-msgid "Total Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:37
-msgid "No supplier pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:45
-msgid "BOM Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:63
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:70
-msgid "No BOM pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:94
-msgid "No pricing information is available for this part."
-msgstr ""
-
#: part/templates/part/part_tests.html:17
msgid "Add Test Template"
msgstr ""
@@ -4787,212 +4835,212 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:89
+#: part/views.py:90
msgid "Add Related Part"
msgstr ""
-#: part/views.py:144
+#: part/views.py:145
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:158
+#: part/views.py:159
msgid "Add part attachment"
msgstr ""
-#: part/views.py:211 templates/attachment_table.html:32
+#: part/views.py:212 templates/attachment_table.html:32
msgid "Edit attachment"
msgstr ""
-#: part/views.py:215
+#: part/views.py:216
msgid "Part attachment updated"
msgstr ""
-#: part/views.py:230
+#: part/views.py:231
msgid "Delete Part Attachment"
msgstr ""
-#: part/views.py:238
+#: part/views.py:239
msgid "Deleted part attachment"
msgstr ""
-#: part/views.py:247
+#: part/views.py:248
msgid "Create Test Template"
msgstr ""
-#: part/views.py:274
+#: part/views.py:275
msgid "Edit Test Template"
msgstr ""
-#: part/views.py:288
+#: part/views.py:289
msgid "Delete Test Template"
msgstr ""
-#: part/views.py:295
+#: part/views.py:296
msgid "Set Part Category"
msgstr ""
-#: part/views.py:345
+#: part/views.py:346
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:380
+#: part/views.py:381
msgid "Create Variant"
msgstr ""
-#: part/views.py:465
+#: part/views.py:466
msgid "Copied part"
msgstr ""
-#: part/views.py:519 part/views.py:657
+#: part/views.py:520 part/views.py:658
msgid "Possible matches exist - confirm creation of new part"
msgstr ""
-#: part/views.py:589
+#: part/views.py:590
msgid "Created new part"
msgstr ""
-#: part/views.py:825
+#: part/views.py:914
msgid "Part QR Code"
msgstr ""
-#: part/views.py:927
+#: part/views.py:1016
msgid "Upload Part Image"
msgstr ""
-#: part/views.py:933 part/views.py:968
+#: part/views.py:1022 part/views.py:1057
msgid "Updated part image"
msgstr ""
-#: part/views.py:942
+#: part/views.py:1031
msgid "Select Part Image"
msgstr ""
-#: part/views.py:971
+#: part/views.py:1060
msgid "Part image not found"
msgstr ""
-#: part/views.py:982
+#: part/views.py:1071
msgid "Edit Part Properties"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1106
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1047
+#: part/views.py:1136
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1068
+#: part/views.py:1157
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1089
+#: part/views.py:1178
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1100
+#: part/views.py:1189
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1234
+#: part/views.py:1323
msgid "No BOM file provided"
msgstr ""
-#: part/views.py:1595
+#: part/views.py:1684
msgid "Enter a valid quantity"
msgstr ""
-#: part/views.py:1620 part/views.py:1623
+#: part/views.py:1709 part/views.py:1712
msgid "Select valid part"
msgstr ""
-#: part/views.py:1629
+#: part/views.py:1718
msgid "Duplicate part selected"
msgstr ""
-#: part/views.py:1667
+#: part/views.py:1756
msgid "Select a part"
msgstr ""
-#: part/views.py:1673
+#: part/views.py:1762
msgid "Selected part creates a circular BOM"
msgstr ""
-#: part/views.py:1677
+#: part/views.py:1766
msgid "Specify quantity"
msgstr ""
-#: part/views.py:1939
+#: part/views.py:2028
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1946
+#: part/views.py:2035
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1955
+#: part/views.py:2044
msgid "Part Pricing"
msgstr ""
-#: part/views.py:2089
+#: part/views.py:2178
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:2099
+#: part/views.py:2188
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:2106
+#: part/views.py:2195
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:2114
+#: part/views.py:2203
msgid "Create Part Parameter"
msgstr ""
-#: part/views.py:2164
+#: part/views.py:2253
msgid "Edit Part Parameter"
msgstr ""
-#: part/views.py:2178
+#: part/views.py:2267
msgid "Delete Part Parameter"
msgstr ""
-#: part/views.py:2238
+#: part/views.py:2327
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:2276
+#: part/views.py:2365
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:2282
+#: part/views.py:2371
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:2334
+#: part/views.py:2423
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2435
+#: part/views.py:2524
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2491
+#: part/views.py:2580
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2510
+#: part/views.py:2599
msgid "Create BOM Item"
msgstr ""
-#: part/views.py:2580
+#: part/views.py:2669
msgid "Edit BOM item"
msgstr ""
-#: part/views.py:2636
+#: part/views.py:2725
msgid "Confim BOM item deletion"
msgstr ""
@@ -5127,7 +5175,7 @@ msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507
-#: stock/templates/stock/item_base.html:371 templates/js/stock.js:656
+#: stock/templates/stock/item_base.html:376 templates/js/stock.js:656
msgid "Expiry Date"
msgstr ""
@@ -5277,7 +5325,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:435 stock/templates/stock/item_base.html:265
+#: stock/models.py:435 stock/templates/stock/item_base.html:270
msgid "Installed In"
msgstr ""
@@ -5412,173 +5460,173 @@ msgstr ""
msgid "Stock Item Attachments"
msgstr ""
-#: stock/templates/stock/item_base.html:24
-msgid "You are not in the list of owners of this item. This stock item cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:31
-msgid "This stock item is in production and cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:32
-msgid "Edit the stock item from the build view."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:45
-msgid "This stock item has not passed all required tests"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:53
-#, python-format
-msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:61
-#, python-format
-msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:67
-msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:71
-msgid "This stock item cannot be deleted as it has child items"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:75
-msgid "This stock item will be automatically deleted when all stock is depleted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:375 templates/js/table_filters.js:146
+#: stock/templates/stock/item_base.html:33
+#: stock/templates/stock/item_base.html:380 templates/js/table_filters.js:146
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:105
-#: stock/templates/stock/item_base.html:377 templates/js/table_filters.js:151
+#: stock/templates/stock/item_base.html:43
+#: stock/templates/stock/item_base.html:382 templates/js/table_filters.js:151
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:142 templates/js/barcode.js:309
+#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
#: templates/js/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:144
+#: stock/templates/stock/item_base.html:82
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:146 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:91
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:157
+#: stock/templates/stock/item_base.html:95
#: stock/templates/stock/item_tests.html:27
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item_base.html:166
+#: stock/templates/stock/item_base.html:104
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:170
+#: stock/templates/stock/item_base.html:108
#: stock/templates/stock/location.html:65 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:173 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:176 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:117
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:183
+#: stock/templates/stock/item_base.html:121
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:186
+#: stock/templates/stock/item_base.html:124
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:189
+#: stock/templates/stock/item_base.html:127
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:193 templates/js/stock.js:1421
+#: stock/templates/stock/item_base.html:131 templates/js/stock.js:1426
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:193
+#: stock/templates/stock/item_base.html:131
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:140
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: stock/templates/stock/item_base.html:205
+#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:146
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:148
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:213
+#: stock/templates/stock/item_base.html:151
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:225
+#: stock/templates/stock/item_base.html:171
+msgid "You are not in the list of owners of this item. This stock item cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:178
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:179
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:192
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:200
+#, python-format
+msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:208
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:214
+msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:218
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:222
+msgid "This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:230
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:284 templates/js/build.js:498
+#: stock/templates/stock/item_base.html:289 templates/js/build.js:498
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:291
+#: stock/templates/stock/item_base.html:296
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:333
+#: stock/templates/stock/item_base.html:338
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:380
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:377
+#: stock/templates/stock/item_base.html:382
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:384 templates/js/stock.js:662
+#: stock/templates/stock/item_base.html:389 templates/js/stock.js:662
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:389
+#: stock/templates/stock/item_base.html:394
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:398
msgid "No stocktake performed"
msgstr ""
@@ -6067,7 +6115,8 @@ msgstr ""
#: templates/InvenTree/settings/appearance.html:29
#, python-format
-msgid "\n"
+msgid ""
+"\n"
" The CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected color theme was not found.
\n"
" Please select another color theme :)\n"
" "
@@ -6107,11 +6156,35 @@ msgstr ""
msgid "Delete Template"
msgstr ""
+#: templates/InvenTree/settings/currencies.html:10
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
+msgstr ""
+
#: templates/InvenTree/settings/global.html:10
msgid "Global InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:27
+#: templates/InvenTree/settings/global.html:26
msgid "Barcode Settings"
msgstr ""
@@ -6190,10 +6263,14 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:25
msgid "Categories"
msgstr ""
@@ -6239,46 +6316,50 @@ msgid "Update Available"
msgstr ""
#: templates/about.html:34
+msgid "API Version"
+msgstr ""
+
+#: templates/about.html:39
msgid "Django Version"
msgstr ""
-#: templates/about.html:41
+#: templates/about.html:46
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:48
+#: templates/about.html:53
msgid "Commit Date"
msgstr ""
-#: templates/about.html:53
+#: templates/about.html:58
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:58
+#: templates/about.html:63
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:63
+#: templates/about.html:68
msgid "Credits"
msgstr ""
-#: templates/about.html:68
+#: templates/about.html:73
msgid "Mobile App"
msgstr ""
-#: templates/about.html:73
+#: templates/about.html:78
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:80 templates/clip.html:4
+#: templates/about.html:85 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:85
msgid "copy version information"
msgstr ""
-#: templates/about.html:90 templates/js/modals.js:568
+#: templates/about.html:95 templates/js/modals.js:568
#: templates/js/modals.js:846 templates/modals.html:29 templates/modals.html:54
#: templates/modals.html:97
msgid "Close"
@@ -6408,41 +6489,49 @@ msgstr ""
msgid "Open subassembly"
msgstr ""
-#: templates/js/bom.js:261
+#: templates/js/bom.js:249
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/bom.js:257
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/bom.js:277
msgid "No pricing available"
msgstr ""
-#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/bom.js:288 templates/js/filters.js:167
#: templates/js/filters.js:397
msgid "true"
msgstr ""
-#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/bom.js:289 templates/js/filters.js:171
#: templates/js/filters.js:398
msgid "false"
msgstr ""
-#: templates/js/bom.js:290 templates/js/bom.js:376
+#: templates/js/bom.js:306 templates/js/bom.js:392
msgid "View BOM"
msgstr ""
-#: templates/js/bom.js:350
+#: templates/js/bom.js:366
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/bom.js:352
+#: templates/js/bom.js:368
msgid "This line has been validated"
msgstr ""
-#: templates/js/bom.js:354
+#: templates/js/bom.js:370
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/bom.js:356
+#: templates/js/bom.js:372
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+#: templates/js/bom.js:463 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr ""
@@ -6485,7 +6574,7 @@ msgstr ""
#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
#: templates/js/stock.js:511 templates/js/stock.js:938
-#: templates/js/stock.js:1453
+#: templates/js/stock.js:1458
msgid "Select"
msgstr ""
@@ -6748,6 +6837,10 @@ msgstr ""
msgid "This test is defined for a parent part"
msgstr ""
+#: templates/js/part.js:727
+msgid "Single Price Difference"
+msgstr ""
+
#: templates/js/report.js:47
msgid "items selected"
msgstr ""
@@ -6942,55 +7035,55 @@ msgstr ""
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1036
+#: templates/js/stock.js:1041
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1055
+#: templates/js/stock.js:1060
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1074
+#: templates/js/stock.js:1079
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1097
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1115
+#: templates/js/stock.js:1120
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1123
+#: templates/js/stock.js:1128
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1155
+#: templates/js/stock.js:1160
msgid "No user information"
msgstr ""
-#: templates/js/stock.js:1167
+#: templates/js/stock.js:1172
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1168
+#: templates/js/stock.js:1173
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1292
+#: templates/js/stock.js:1297
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1391
+#: templates/js/stock.js:1396
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1484 templates/js/table_filters.js:172
+#: templates/js/stock.js:1489 templates/js/table_filters.js:172
msgid "Installed"
msgstr ""
-#: templates/js/stock.js:1509
+#: templates/js/stock.js:1514
msgid "Install item"
msgstr ""
@@ -7472,4 +7565,3 @@ msgstr ""
#: users/models.py:187
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 20cbccebaa..d7603d9931 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: 2021-05-17 10:46+0000\n"
-"PO-Revision-Date: 2021-05-17 10:47\n"
+"POT-Creation-Date: 2021-05-29 07:28+0000\n"
+"PO-Revision-Date: 2021-05-28 04:02\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -33,42 +33,42 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:110 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:126
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:127
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:159 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:160
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:167
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:168
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:233
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -122,9 +122,9 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1946
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1146
+#: templates/js/stock.js:1151
msgid "User"
msgstr ""
@@ -133,7 +133,7 @@ msgid "upload date"
msgstr ""
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:102
-#: part/models.py:686 part/models.py:2087 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/part.js:110
#: templates/js/part.js:553 templates/js/stock.js:944
@@ -171,23 +171,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -232,7 +232,7 @@ msgid "Returned"
msgstr ""
#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:124
+#: order/templates/order/sales_order_base.html:126
msgid "Shipped"
msgstr ""
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:587
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:636
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:681
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:887 templates/navbar.html:95
+#: InvenTree/views.py:937 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -444,10 +444,10 @@ msgstr ""
msgid "Order target date"
msgstr ""
-#: build/forms.py:42 build/templates/build/build_base.html:136
+#: build/forms.py:42 build/templates/build/build_base.html:146
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:117
+#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
@@ -461,8 +461,8 @@ msgstr ""
#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1245
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:123
-#: build/templates/build/detail.html:31 common/models.py:705
+#: build/templates/build/build_base.html:133
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -473,20 +473,22 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:162
#: order/templates/order/sales_order_detail.html:230 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2216
+#: part/forms.py:371 part/forms.py:387 part/models.py:2269
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
-#: part/templates/part/part_pricing.html:13
+#: part/templates/part/order_prices.html:175
+#: part/templates/part/part_pricing.html:12
#: part/templates/part/sale_prices.html:85
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
#: stock/forms.py:175 stock/forms.py:308
-#: stock/templates/stock/item_base.html:250
+#: stock/templates/stock/item_base.html:255
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
-#: templates/js/stock.js:1131 templates/js/stock.js:1393
+#: templates/js/part.js:717 templates/js/stock.js:1136
+#: templates/js/stock.js:1398
msgid "Quantity"
msgstr ""
@@ -528,11 +530,11 @@ msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
-#: stock/templates/stock/item_base.html:280
+#: stock/templates/stock/item_base.html:285
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:490
-#: templates/js/stock.js:641 templates/js/stock.js:1023
+#: templates/js/stock.js:641 templates/js/stock.js:1028
msgid "Location"
msgstr ""
@@ -540,14 +542,14 @@ msgstr ""
msgid "Location of completed parts"
msgstr ""
-#: build/forms.py:215 build/templates/build/build_base.html:128
+#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:59 order/models.py:466
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:398 templates/InvenTree/search.html:252
+#: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:770
#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1100
-#: templates/js/stock.js:1401
+#: templates/js/stock.js:628 templates/js/stock.js:1105
+#: templates/js/stock.js:1406
msgid "Status"
msgstr ""
@@ -580,7 +582,7 @@ msgid "Select quantity of stock to allocate"
msgstr ""
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:63
+#: build/templates/build/build_base.html:73
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -592,7 +594,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -602,7 +604,7 @@ msgstr ""
#: build/models.py:127 order/models.py:99 order/models.py:616
#: order/templates/order/purchase_order_detail.html:170
-#: order/templates/order/sales_order_detail.html:225 part/models.py:2225
+#: order/templates/order/sales_order_detail.html:225 part/models.py:2278
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
#: templates/js/build.js:565 templates/js/build.js:1008
@@ -613,7 +615,7 @@ msgstr ""
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/models.py:146 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr ""
@@ -623,17 +625,17 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:128
#: build/templates/build/detail.html:26 company/models.py:622
#: order/models.py:658 order/models.py:691
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:131
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:213 part/models.py:321
-#: part/models.py:1914 part/models.py:1926 part/models.py:1944
-#: part/models.py:2019 part/models.py:2115 part/models.py:2200
+#: part/models.py:1967 part/models.py:1979 part/models.py:1997
+#: part/models.py:2072 part/models.py:2168 part/models.py:2253
#: part/templates/part/part_app_base.html:8
-#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29
+#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
@@ -643,7 +645,7 @@ msgstr ""
#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
-#: templates/js/stock.js:1465
+#: templates/js/stock.js:1470
msgid "Part"
msgstr ""
@@ -691,7 +693,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:204 part/templates/part/part_base.html:160
+#: build/models.py:204 part/templates/part/part_base.html:167
msgid "Build Status"
msgstr ""
@@ -732,10 +734,10 @@ msgstr ""
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/models.py:250 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: order/templates/order/sales_order_base.html:140 part/models.py:886
#: report/templates/report/inventree_build_order_base.html:159
msgid "Responsible"
msgstr ""
@@ -749,8 +751,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:28
#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
-#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
-#: stock/models.py:458 stock/templates/stock/item_base.html:340
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:94
+#: stock/models.py:458 stock/templates/stock/item_base.html:345
msgid "External Link"
msgstr ""
@@ -768,12 +770,12 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:278
#: order/templates/order/so_navbar.html:33
#: order/templates/order/so_navbar.html:36 part/models.py:871
-#: part/templates/part/navbar.html:128
+#: part/templates/part/navbar.html:134
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+#: templates/js/bom.js:349 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
msgstr ""
@@ -823,7 +825,7 @@ msgstr ""
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1224 stock/templates/stock/item_base.html:312
+#: build/models.py:1224 stock/templates/stock/item_base.html:317
#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
@@ -838,10 +840,10 @@ msgstr ""
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/item_base.html:334
+#: stock/templates/stock/item_base.html:31
+#: stock/templates/stock/item_base.html:339
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
-#: templates/js/stock.js:1082 templates/js/stock.js:1384
+#: templates/js/stock.js:1087 templates/js/stock.js:1389
msgid "Stock Item"
msgstr ""
@@ -913,7 +915,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: order/templates/order/sales_order_detail.html:160
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:452 stock/templates/stock/item_base.html:244
+#: stock/models.py:452 stock/templates/stock/item_base.html:249
#: templates/js/build.js:474
msgid "Serial Number"
msgstr ""
@@ -921,8 +923,8 @@ msgstr ""
#: build/templates/build/attachments.html:12
#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
-#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
-#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:125
+#: part/templates/part/navbar.html:128 stock/templates/stock/navbar.html:47
#: stock/templates/stock/navbar.html:50
msgid "Attachments"
msgstr ""
@@ -943,119 +945,119 @@ msgstr ""
msgid "Stock items will have to be manually allocated"
msgstr ""
-#: build/templates/build/build_base.html:16
+#: build/templates/build/build_base.html:18
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:22
+#: build/templates/build/build_base.html:25
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:31
+#: build/templates/build/build_base.html:32
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:36
+#: build/templates/build/build_base.html:37
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:41
+#: build/templates/build/build_base.html:42
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:46
+#: build/templates/build/build_base.html:47
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:75
#: company/templates/company/company_base.html:40
#: company/templates/company/manufacturer_part_base.html:25
#: company/templates/company/supplier_part_base.html:26
#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:124
+#: order/templates/order/sales_order_base.html:37
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:22
+#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
msgstr ""
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:81
+#: build/templates/build/build_base.html:150
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:41
-#: order/templates/order/sales_order_base.html:86
+#: order/templates/order/sales_order_base.html:43
+#: order/templates/order/sales_order_base.html:88
#: templates/js/table_filters.js:241 templates/js/table_filters.js:260
#: templates/js/table_filters.js:277
msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:80
+#: build/templates/build/build_base.html:90
msgid "Print actions"
msgstr ""
-#: build/templates/build/build_base.html:84
+#: build/templates/build/build_base.html:94
msgid "Print Build Order"
msgstr ""
-#: build/templates/build/build_base.html:90
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:100
+#: build/templates/build/build_base.html:225
msgid "Complete Build"
msgstr ""
-#: build/templates/build/build_base.html:95
+#: build/templates/build/build_base.html:105
msgid "Build actions"
msgstr ""
-#: build/templates/build/build_base.html:99
+#: build/templates/build/build_base.html:109
msgid "Edit Build"
msgstr ""
-#: build/templates/build/build_base.html:101
-#: build/templates/build/build_base.html:199 build/views.py:57
+#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:209 build/views.py:57
msgid "Cancel Build"
msgstr ""
-#: build/templates/build/build_base.html:114
+#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr ""
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:150
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:147
+#: build/templates/build/build_base.html:157
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr ""
-#: build/templates/build/build_base.html:160
+#: build/templates/build/build_base.html:170
#: build/templates/build/detail.html:84 order/models.py:689
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_base.html:35
#: order/templates/order/sales_order_ship.html:25
#: part/templates/part/allocation.html:30
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:274 templates/js/order.js:245
+#: stock/templates/stock/item_base.html:279 templates/js/order.js:245
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:167
+#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:207
+#: build/templates/build/build_base.html:217
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:208
+#: build/templates/build/build_base.html:218
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1191,15 +1193,15 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:298 templates/js/stock.js:636
-#: templates/js/stock.js:1408 templates/js/table_filters.js:108
+#: stock/templates/stock/item_base.html:303 templates/js/stock.js:636
+#: templates/js/stock.js:1413 templates/js/table_filters.js:108
#: templates/js/table_filters.js:202
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+#: order/templates/order/sales_order_base.html:113 templates/js/build.js:778
msgid "Created"
msgstr ""
@@ -1282,8 +1284,8 @@ msgstr ""
#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
#: order/templates/order/order_notes.html:27
#: order/templates/order/sales_order_notes.html:29
-#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:477
-#: stock/templates/stock/item_base.html:487
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:482
+#: stock/templates/stock/item_base.html:492
#: stock/templates/stock/item_notes.html:26
msgid "Save"
msgstr ""
@@ -1429,7 +1431,7 @@ msgstr ""
msgid "Add Build Order Attachment"
msgstr ""
-#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:172
+#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:173
#: stock/views.py:277
msgid "Added attachment"
msgstr ""
@@ -1466,368 +1468,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:38 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:39
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:55
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
msgid "Download from URL"
msgstr ""
-#: common/models.py:92
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:98
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:99
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:105
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:106
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:110
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:111
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:124
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:125
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:146
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:153
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:159 part/models.py:2117 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:160
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:166 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:167
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:173 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:174
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:180 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:181
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:187 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:194 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:201 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:202
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:208
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:209
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:215 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:216
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:222
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:223
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:233
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:234
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:241
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:247
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:248
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:254
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:255
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:257 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:262
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:263
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:269
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:270
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:276
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:277
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:283
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:284
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:290
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:291
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:296
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:297
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:301
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:302
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:307
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:308
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:531
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:533
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:568
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:591
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:602
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:625
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:706 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:714 company/templates/company/supplier_part_pricing.html:82
-#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:271
msgid "Price"
msgstr ""
-#: common/models.py:715
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:804
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -1882,7 +1876,7 @@ msgstr ""
msgid "Image URL"
msgstr ""
-#: company/forms.py:118
+#: company/forms.py:118 templates/js/part.js:708
msgid "Single Price"
msgstr ""
@@ -1998,7 +1992,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:305 company/models.py:456 stock/models.py:405
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:235
msgid "Base Part"
msgstr ""
@@ -2011,7 +2005,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:25
#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:347
+#: part/bom.py:241 stock/templates/stock/item_base.html:352
#: templates/js/company.js:44 templates/js/company.js:165
#: templates/js/company.js:289
msgid "Manufacturer"
@@ -2030,7 +2024,7 @@ msgstr ""
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:359
+#: part/bom.py:286 stock/templates/stock/item_base.html:364
#: templates/js/company.js:48 templates/js/company.js:263
#: templates/js/order.js:170
msgid "Supplier"
@@ -2054,7 +2048,7 @@ msgstr ""
#: company/models.py:479
#: company/templates/company/manufacturer_part_base.html:6
#: company/templates/company/manufacturer_part_base.html:19
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:357
msgid "Manufacturer Part"
msgstr ""
@@ -2071,7 +2065,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:497 company/templates/company/supplier_part_base.html:116
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2228
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2281
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -2086,7 +2080,7 @@ msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:503 company/templates/company/supplier_part_base.html:109
-#: stock/models.py:429 stock/templates/stock/item_base.html:305
+#: stock/models.py:429 stock/templates/stock/item_base.html:310
#: templates/js/stock.js:667
msgid "Packaging"
msgstr ""
@@ -2154,7 +2148,8 @@ msgstr ""
#: company/templates/company/delete.html:12
#, python-format
-msgid "There are %(count)s parts sourced from this company.
\n"
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
"If this supplier is deleted, these supplier part entries will also be deleted."
msgstr ""
@@ -2171,10 +2166,10 @@ msgid "Uses default currency"
msgstr ""
#: company/templates/company/detail.html:67 order/models.py:461
-#: order/templates/order/sales_order_base.html:92 stock/models.py:447
-#: stock/models.py:448 stock/templates/stock/item_base.html:257
+#: order/templates/order/sales_order_base.html:94 stock/models.py:447
+#: stock/models.py:448 stock/templates/stock/item_base.html:262
#: templates/js/company.js:40 templates/js/order.js:267
-#: templates/js/stock.js:1064
+#: templates/js/stock.js:1069
msgid "Customer"
msgstr ""
@@ -2220,7 +2215,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1279
+#: templates/js/stock.js:1284
msgid "New Part"
msgstr ""
@@ -2267,7 +2262,7 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:49
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1285
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1290
msgid "New Supplier Part"
msgstr ""
@@ -2290,7 +2285,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
msgid "Order part"
msgstr ""
@@ -2324,8 +2319,8 @@ msgid "There are %(count)s suppliers defined for this manufacturer part. If you
msgstr ""
#: company/templates/company/manufacturer_part_navbar.html:14
-#: company/views.py:63 part/templates/part/navbar.html:78
-#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: company/views.py:63 part/templates/part/navbar.html:84
+#: part/templates/part/navbar.html:87 templates/InvenTree/search.html:316
#: templates/navbar.html:35
msgid "Suppliers"
msgstr ""
@@ -2342,7 +2337,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2400,10 +2395,10 @@ msgstr ""
#: company/templates/company/sales_orders.html:11
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
-#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/navbar.html:104 part/templates/part/navbar.html:107
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2412,10 +2407,10 @@ msgstr ""
#: company/templates/company/purchase_orders.html:10
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/navbar.html:90 part/templates/part/navbar.html:93
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -2446,7 +2441,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:414
-#: stock/templates/stock/item_base.html:364 templates/js/company.js:279
+#: stock/templates/stock/item_base.html:369 templates/js/company.js:279
msgid "Supplier Part"
msgstr ""
@@ -2495,7 +2490,7 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
-#: part/templates/part/sale_prices.html:17 part/views.py:2644
+#: part/templates/part/sale_prices.html:17 part/views.py:2733
msgid "Add Price Break"
msgstr ""
@@ -2514,8 +2509,8 @@ msgstr ""
msgid "Delete price break"
msgstr ""
-#: company/views.py:70 part/templates/part/navbar.html:72
-#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: company/views.py:70 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:306
#: templates/navbar.html:36
msgid "Manufacturers"
msgstr ""
@@ -2537,20 +2532,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:169 part/views.py:848
+#: company/views.py:169 part/views.py:937
msgid "Download Image"
msgstr ""
-#: company/views.py:198 part/views.py:880
+#: company/views.py:198 part/views.py:969
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:205 part/views.py:887
+#: company/views.py:205 part/views.py:976
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:214 part/views.py:896
+#: company/views.py:214 part/views.py:985
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2602,7 +2597,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:578 templates/js/stock.js:1286
+#: company/views.py:578 templates/js/stock.js:1291
msgid "Create new Supplier Part"
msgstr ""
@@ -2610,15 +2605,15 @@ msgstr ""
msgid "Delete Supplier Part"
msgstr ""
-#: company/views.py:799 part/views.py:2648
+#: company/views.py:799 part/views.py:2737
msgid "Added new price break"
msgstr ""
-#: company/views.py:855 part/views.py:2692
+#: company/views.py:855 part/views.py:2781
msgid "Edit Price Break"
msgstr ""
-#: company/views.py:870 part/views.py:2706
+#: company/views.py:870 part/views.py:2795
msgid "Delete Price Break"
msgstr ""
@@ -2692,11 +2687,11 @@ msgid "Mark order as complete"
msgstr ""
#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
-#: order/templates/order/sales_order_base.html:59
+#: order/templates/order/sales_order_base.html:61
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+#: order/forms.py:71 order/templates/order/sales_order_base.html:58
msgid "Ship order"
msgstr ""
@@ -2793,7 +2788,7 @@ msgstr ""
msgid "Date order was completed"
msgstr ""
-#: order/models.py:243 part/views.py:1586 stock/models.py:302
+#: order/models.py:243 part/views.py:1675 stock/models.py:302
#: stock/models.py:1018
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2859,8 +2854,8 @@ msgstr ""
#: order/models.py:645 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:319 templates/js/order.js:148
-#: templates/js/stock.js:1045
+#: stock/templates/stock/item_base.html:324 templates/js/order.js:148
+#: templates/js/stock.js:1050
msgid "Purchase Order"
msgstr ""
@@ -2871,7 +2866,7 @@ msgstr ""
#: order/models.py:662 order/templates/order/order_base.html:131
#: order/templates/order/purchase_order_detail.html:189
#: order/templates/order/receive_parts.html:22
-#: order/templates/order/sales_order_base.html:131
+#: order/templates/order/sales_order_base.html:133
msgid "Received"
msgstr ""
@@ -2880,7 +2875,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:669 stock/models.py:540
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:331
msgid "Purchase Price"
msgstr ""
@@ -2888,8 +2883,9 @@ msgstr ""
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:698 part/templates/part/navbar.html:95
-#: part/templates/part/part_pricing.html:78
+#: order/models.py:698 part/templates/part/navbar.html:101
+#: part/templates/part/order_prices.html:82
+#: part/templates/part/part_pricing.html:77
msgid "Sale Price"
msgstr ""
@@ -2940,12 +2936,12 @@ msgid "Are you sure you want to delete this attachment?"
msgstr ""
#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:48
+#: order/templates/order/sales_order_base.html:50
msgid "Print"
msgstr ""
#: order/templates/order/order_base.html:43
-#: order/templates/order/sales_order_base.html:52
+#: order/templates/order/sales_order_base.html:54
msgid "Edit order information"
msgstr ""
@@ -2963,12 +2959,12 @@ msgid "Purchase Order Details"
msgstr ""
#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:77
+#: order/templates/order/sales_order_base.html:79
msgid "Order Reference"
msgstr ""
#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:82
+#: order/templates/order/sales_order_base.html:84
msgid "Order Status"
msgstr ""
@@ -2981,7 +2977,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:100
#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1291
+#: templates/js/stock.js:1296
msgid "New Location"
msgstr ""
@@ -3193,14 +3189,14 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: order/templates/order/receive_parts.html:14 part/api.py:45
#: part/models.py:322 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:99
#: part/templates/part/category_navbar.html:22
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -3215,7 +3211,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:414
+#: part/templates/part/part_base.html:136 templates/js/part.js:414
msgid "On Order"
msgstr ""
@@ -3231,20 +3227,20 @@ msgstr ""
msgid "Remove line"
msgstr ""
-#: order/templates/order/sales_order_base.html:15
-msgid "This SalesOrder has not been fully allocated"
+#: order/templates/order/sales_order_base.html:16
+msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:64
+#: order/templates/order/sales_order_base.html:66
msgid "Packing List"
msgstr ""
-#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/sales_order_base.html:74
#: order/templates/order/so_navbar.html:12
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275
msgid "Customer Reference"
msgstr ""
@@ -3263,7 +3259,7 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:342
+#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358
#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr ""
@@ -3558,7 +3554,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:139 part/templates/part/part_base.html:117
+#: part/bom.py:139 part/templates/part/part_base.html:124
msgid "Available Stock"
msgstr ""
@@ -3631,7 +3627,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:122 part/models.py:2115
+#: part/forms.py:122 part/models.py:2168
msgid "Parent Part"
msgstr ""
@@ -3707,7 +3703,7 @@ msgstr ""
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:344 part/models.py:2209
+#: part/forms.py:344 part/models.py:2262
msgid "Sub part"
msgstr ""
@@ -3727,7 +3723,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:82 part/models.py:2161
+#: part/models.py:82 part/models.py:2214
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -3797,7 +3793,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:724 part/models.py:2160 part/templates/part/detail.html:73
+#: part/models.py:724 part/models.py:2213 part/templates/part/detail.html:73
#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr ""
@@ -3807,7 +3803,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:161
+#: part/templates/part/part_base.html:87 templates/js/part.js:161
msgid "IPN"
msgstr ""
@@ -3852,7 +3848,7 @@ msgstr ""
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:828 part/models.py:2089 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2142 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr ""
@@ -3923,167 +3919,167 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:1987
+#: part/models.py:2040
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2004
+#: part/models.py:2057
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2024 templates/js/part.js:638 templates/js/stock.js:104
+#: part/models.py:2077 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr ""
-#: part/models.py:2025
+#: part/models.py:2078
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2030
+#: part/models.py:2083
msgid "Test Description"
msgstr ""
-#: part/models.py:2031
+#: part/models.py:2084
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2036 templates/js/part.js:647
+#: part/models.py:2089 templates/js/part.js:647
#: templates/js/table_filters.js:223
msgid "Required"
msgstr ""
-#: part/models.py:2037
+#: part/models.py:2090
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2042 templates/js/part.js:655
+#: part/models.py:2095 templates/js/part.js:655
msgid "Requires Value"
msgstr ""
-#: part/models.py:2043
+#: part/models.py:2096
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2048 templates/js/part.js:662
+#: part/models.py:2101 templates/js/part.js:662
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2049
+#: part/models.py:2102
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2082
+#: part/models.py:2135
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2087
+#: part/models.py:2140
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2089
+#: part/models.py:2142
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2117 part/models.py:2166 part/models.py:2167
+#: part/models.py:2170 part/models.py:2219 part/models.py:2220
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Data"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2171 templates/InvenTree/settings/category.html:67
+#: part/models.py:2224 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2225
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2201
+#: part/models.py:2254
msgid "Select parent part"
msgstr ""
-#: part/models.py:2210
+#: part/models.py:2263
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2216
+#: part/models.py:2269
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2218 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2271 templates/js/bom.js:216 templates/js/bom.js:285
msgid "Optional"
msgstr ""
-#: part/models.py:2218
+#: part/models.py:2271
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2221
+#: part/models.py:2274
msgid "Overage"
msgstr ""
-#: part/models.py:2222
+#: part/models.py:2275
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2225
+#: part/models.py:2278
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2228
+#: part/models.py:2281
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "Checksum"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2234 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2287 templates/js/bom.js:295 templates/js/bom.js:302
#: templates/js/table_filters.js:51
msgid "Inherited"
msgstr ""
-#: part/models.py:2235
+#: part/models.py:2288
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2311 part/views.py:1592 part/views.py:1644
+#: part/models.py:2364 part/views.py:1681 part/views.py:1733
#: stock/models.py:292
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2320 part/models.py:2322
+#: part/models.py:2373 part/models.py:2375
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2325
+#: part/models.py:2378
msgid "BOM Item"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2495
msgid "Part 1"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Part 2"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2478
+#: part/models.py:2531
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4151,7 +4147,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:61 part/views.py:1887
+#: part/templates/part/bom.html:61 part/views.py:1976
msgid "Export Bill of Materials"
msgstr ""
@@ -4167,8 +4163,8 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1280
+#: part/templates/part/bom.html:160 part/views.py:585
+#: templates/js/stock.js:1285
msgid "Create New Part"
msgstr ""
@@ -4249,7 +4245,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:29 part/views.py:2290
+#: part/templates/part/category.html:29 part/views.py:2379
msgid "Create new part category"
msgstr ""
@@ -4367,7 +4363,7 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:460
+#: part/templates/part/copy_part.html:9 part/views.py:461
msgid "Duplicate Part"
msgstr ""
@@ -4504,27 +4500,111 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/templates/part/navbar.html:92
+#: part/templates/part/navbar.html:72 part/templates/part/order_prices.html:12
+msgid "Order Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:75
+msgid "Order Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:98
msgid "Sales Price Information"
msgstr ""
-#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+#: part/templates/part/navbar.html:112 part/templates/part/part_tests.html:10
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:404
+#: part/templates/part/navbar.html:115 stock/templates/stock/item_base.html:409
msgid "Tests"
msgstr ""
-#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/navbar.html:119 part/templates/part/navbar.html:122
#: part/templates/part/related.html:10
msgid "Related Parts"
msgstr ""
-#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+#: part/templates/part/navbar.html:131 part/templates/part/notes.html:12
msgid "Part Notes"
msgstr ""
+#: part/templates/part/order_prices.html:21
+msgid "Pricing ranges"
+msgstr ""
+
+#: part/templates/part/order_prices.html:26
+#: part/templates/part/part_pricing.html:18
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:27
+#: part/templates/part/order_prices.html:52
+#: part/templates/part/order_prices.html:83
+#: part/templates/part/part_pricing.html:22
+#: part/templates/part/part_pricing.html:48
+#: part/templates/part/part_pricing.html:80
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:34
+#: part/templates/part/order_prices.html:59
+#: part/templates/part/order_prices.html:88
+#: part/templates/part/part_pricing.html:28
+#: part/templates/part/part_pricing.html:54
+#: part/templates/part/part_pricing.html:84
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:42
+#: part/templates/part/part_pricing.html:36
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:51
+#: part/templates/part/order_prices.html:103
+#: part/templates/part/part_pricing.html:44
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:67
+#: part/templates/part/part_pricing.html:62
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/order_prices.html:74
+#: part/templates/part/part_pricing.html:69
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:97
+#: part/templates/part/part_pricing.html:93
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:113
+msgid "Stock Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:121
+msgid "No stock pricing history is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:140
+#, python-format
+msgid "Single Price - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:152
+#, python-format
+msgid "Single Price Difference - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:163
+#, python-format
+msgid "Part Single Price - %(currency)s"
+msgstr ""
+
#: part/templates/part/params.html:17
msgid "Add new parameter"
msgstr ""
@@ -4558,126 +4638,94 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:18
-#, python-format
-msgid "This part is a variant of %(link)s"
-msgstr ""
-
-#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: part/templates/part/part_base.html:26 templates/js/company.js:156
#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr ""
-#: part/templates/part/part_base.html:40
+#: part/templates/part/part_base.html:33
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:47
-#: stock/templates/stock/item_base.html:137
+#: part/templates/part/part_base.html:40
+#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:49
-#: stock/templates/stock/item_base.html:139
+#: part/templates/part/part_base.html:42
+#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:50
-#: stock/templates/stock/item_base.html:155
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:55
+#: part/templates/part/part_base.html:48
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:59
+#: part/templates/part/part_base.html:52
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:74
+#: part/templates/part/part_base.html:67
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:77
+#: part/templates/part/part_base.html:70
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:80
+#: part/templates/part/part_base.html:73
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:83
+#: part/templates/part/part_base.html:76
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:157
+#: part/templates/part/part_base.html:107
+msgid "This is a virtual part"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:130 templates/js/table_filters.js:157
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:143
+#: part/templates/part/part_base.html:150
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:157
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+#: part/templates/part/part_base.html:172 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:171 templates/js/part.js:418
+#: part/templates/part/part_base.html:178 templates/js/part.js:418
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:250
+#: part/templates/part/part_base.html:257
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_pricing.html:19
-msgid "Supplier Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:23
-#: part/templates/part/part_pricing.html:49
-#: part/templates/part/part_pricing.html:81
-msgid "Unit Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:29
-#: part/templates/part/part_pricing.html:55
-#: part/templates/part/part_pricing.html:85
-msgid "Total Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:37
-msgid "No supplier pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:45
-msgid "BOM Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:63
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:70
-msgid "No BOM pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:94
-msgid "No pricing information is available for this part."
-msgstr ""
-
#: part/templates/part/part_tests.html:17
msgid "Add Test Template"
msgstr ""
@@ -4787,212 +4835,212 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:89
+#: part/views.py:90
msgid "Add Related Part"
msgstr ""
-#: part/views.py:144
+#: part/views.py:145
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:158
+#: part/views.py:159
msgid "Add part attachment"
msgstr ""
-#: part/views.py:211 templates/attachment_table.html:32
+#: part/views.py:212 templates/attachment_table.html:32
msgid "Edit attachment"
msgstr ""
-#: part/views.py:215
+#: part/views.py:216
msgid "Part attachment updated"
msgstr ""
-#: part/views.py:230
+#: part/views.py:231
msgid "Delete Part Attachment"
msgstr ""
-#: part/views.py:238
+#: part/views.py:239
msgid "Deleted part attachment"
msgstr ""
-#: part/views.py:247
+#: part/views.py:248
msgid "Create Test Template"
msgstr ""
-#: part/views.py:274
+#: part/views.py:275
msgid "Edit Test Template"
msgstr ""
-#: part/views.py:288
+#: part/views.py:289
msgid "Delete Test Template"
msgstr ""
-#: part/views.py:295
+#: part/views.py:296
msgid "Set Part Category"
msgstr ""
-#: part/views.py:345
+#: part/views.py:346
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:380
+#: part/views.py:381
msgid "Create Variant"
msgstr ""
-#: part/views.py:465
+#: part/views.py:466
msgid "Copied part"
msgstr ""
-#: part/views.py:519 part/views.py:657
+#: part/views.py:520 part/views.py:658
msgid "Possible matches exist - confirm creation of new part"
msgstr ""
-#: part/views.py:589
+#: part/views.py:590
msgid "Created new part"
msgstr ""
-#: part/views.py:825
+#: part/views.py:914
msgid "Part QR Code"
msgstr ""
-#: part/views.py:927
+#: part/views.py:1016
msgid "Upload Part Image"
msgstr ""
-#: part/views.py:933 part/views.py:968
+#: part/views.py:1022 part/views.py:1057
msgid "Updated part image"
msgstr ""
-#: part/views.py:942
+#: part/views.py:1031
msgid "Select Part Image"
msgstr ""
-#: part/views.py:971
+#: part/views.py:1060
msgid "Part image not found"
msgstr ""
-#: part/views.py:982
+#: part/views.py:1071
msgid "Edit Part Properties"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1106
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1047
+#: part/views.py:1136
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1068
+#: part/views.py:1157
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1089
+#: part/views.py:1178
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1100
+#: part/views.py:1189
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1234
+#: part/views.py:1323
msgid "No BOM file provided"
msgstr ""
-#: part/views.py:1595
+#: part/views.py:1684
msgid "Enter a valid quantity"
msgstr ""
-#: part/views.py:1620 part/views.py:1623
+#: part/views.py:1709 part/views.py:1712
msgid "Select valid part"
msgstr ""
-#: part/views.py:1629
+#: part/views.py:1718
msgid "Duplicate part selected"
msgstr ""
-#: part/views.py:1667
+#: part/views.py:1756
msgid "Select a part"
msgstr ""
-#: part/views.py:1673
+#: part/views.py:1762
msgid "Selected part creates a circular BOM"
msgstr ""
-#: part/views.py:1677
+#: part/views.py:1766
msgid "Specify quantity"
msgstr ""
-#: part/views.py:1939
+#: part/views.py:2028
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1946
+#: part/views.py:2035
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1955
+#: part/views.py:2044
msgid "Part Pricing"
msgstr ""
-#: part/views.py:2089
+#: part/views.py:2178
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:2099
+#: part/views.py:2188
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:2106
+#: part/views.py:2195
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:2114
+#: part/views.py:2203
msgid "Create Part Parameter"
msgstr ""
-#: part/views.py:2164
+#: part/views.py:2253
msgid "Edit Part Parameter"
msgstr ""
-#: part/views.py:2178
+#: part/views.py:2267
msgid "Delete Part Parameter"
msgstr ""
-#: part/views.py:2238
+#: part/views.py:2327
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:2276
+#: part/views.py:2365
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:2282
+#: part/views.py:2371
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:2334
+#: part/views.py:2423
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2435
+#: part/views.py:2524
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2491
+#: part/views.py:2580
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2510
+#: part/views.py:2599
msgid "Create BOM Item"
msgstr ""
-#: part/views.py:2580
+#: part/views.py:2669
msgid "Edit BOM item"
msgstr ""
-#: part/views.py:2636
+#: part/views.py:2725
msgid "Confim BOM item deletion"
msgstr ""
@@ -5127,7 +5175,7 @@ msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507
-#: stock/templates/stock/item_base.html:371 templates/js/stock.js:656
+#: stock/templates/stock/item_base.html:376 templates/js/stock.js:656
msgid "Expiry Date"
msgstr ""
@@ -5277,7 +5325,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:435 stock/templates/stock/item_base.html:265
+#: stock/models.py:435 stock/templates/stock/item_base.html:270
msgid "Installed In"
msgstr ""
@@ -5412,173 +5460,173 @@ msgstr ""
msgid "Stock Item Attachments"
msgstr ""
-#: stock/templates/stock/item_base.html:24
-msgid "You are not in the list of owners of this item. This stock item cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:31
-msgid "This stock item is in production and cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:32
-msgid "Edit the stock item from the build view."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:45
-msgid "This stock item has not passed all required tests"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:53
-#, python-format
-msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:61
-#, python-format
-msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:67
-msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:71
-msgid "This stock item cannot be deleted as it has child items"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:75
-msgid "This stock item will be automatically deleted when all stock is depleted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:375 templates/js/table_filters.js:146
+#: stock/templates/stock/item_base.html:33
+#: stock/templates/stock/item_base.html:380 templates/js/table_filters.js:146
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:105
-#: stock/templates/stock/item_base.html:377 templates/js/table_filters.js:151
+#: stock/templates/stock/item_base.html:43
+#: stock/templates/stock/item_base.html:382 templates/js/table_filters.js:151
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:142 templates/js/barcode.js:309
+#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
#: templates/js/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:144
+#: stock/templates/stock/item_base.html:82
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:146 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:91
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:157
+#: stock/templates/stock/item_base.html:95
#: stock/templates/stock/item_tests.html:27
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item_base.html:166
+#: stock/templates/stock/item_base.html:104
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:170
+#: stock/templates/stock/item_base.html:108
#: stock/templates/stock/location.html:65 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:173 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:176 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:117
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:183
+#: stock/templates/stock/item_base.html:121
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:186
+#: stock/templates/stock/item_base.html:124
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:189
+#: stock/templates/stock/item_base.html:127
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:193 templates/js/stock.js:1421
+#: stock/templates/stock/item_base.html:131 templates/js/stock.js:1426
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:193
+#: stock/templates/stock/item_base.html:131
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:140
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: stock/templates/stock/item_base.html:205
+#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:146
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:148
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:213
+#: stock/templates/stock/item_base.html:151
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:225
+#: stock/templates/stock/item_base.html:171
+msgid "You are not in the list of owners of this item. This stock item cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:178
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:179
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:192
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:200
+#, python-format
+msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:208
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:214
+msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:218
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:222
+msgid "This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:230
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:284 templates/js/build.js:498
+#: stock/templates/stock/item_base.html:289 templates/js/build.js:498
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:291
+#: stock/templates/stock/item_base.html:296
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:333
+#: stock/templates/stock/item_base.html:338
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:380
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:377
+#: stock/templates/stock/item_base.html:382
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:384 templates/js/stock.js:662
+#: stock/templates/stock/item_base.html:389 templates/js/stock.js:662
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:389
+#: stock/templates/stock/item_base.html:394
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:398
msgid "No stocktake performed"
msgstr ""
@@ -6067,7 +6115,8 @@ msgstr ""
#: templates/InvenTree/settings/appearance.html:29
#, python-format
-msgid "\n"
+msgid ""
+"\n"
" The CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected color theme was not found.
\n"
" Please select another color theme :)\n"
" "
@@ -6107,11 +6156,35 @@ msgstr ""
msgid "Delete Template"
msgstr ""
+#: templates/InvenTree/settings/currencies.html:10
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
+msgstr ""
+
#: templates/InvenTree/settings/global.html:10
msgid "Global InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:27
+#: templates/InvenTree/settings/global.html:26
msgid "Barcode Settings"
msgstr ""
@@ -6190,10 +6263,14 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:25
msgid "Categories"
msgstr ""
@@ -6239,46 +6316,50 @@ msgid "Update Available"
msgstr ""
#: templates/about.html:34
+msgid "API Version"
+msgstr ""
+
+#: templates/about.html:39
msgid "Django Version"
msgstr ""
-#: templates/about.html:41
+#: templates/about.html:46
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:48
+#: templates/about.html:53
msgid "Commit Date"
msgstr ""
-#: templates/about.html:53
+#: templates/about.html:58
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:58
+#: templates/about.html:63
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:63
+#: templates/about.html:68
msgid "Credits"
msgstr ""
-#: templates/about.html:68
+#: templates/about.html:73
msgid "Mobile App"
msgstr ""
-#: templates/about.html:73
+#: templates/about.html:78
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:80 templates/clip.html:4
+#: templates/about.html:85 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:85
msgid "copy version information"
msgstr ""
-#: templates/about.html:90 templates/js/modals.js:568
+#: templates/about.html:95 templates/js/modals.js:568
#: templates/js/modals.js:846 templates/modals.html:29 templates/modals.html:54
#: templates/modals.html:97
msgid "Close"
@@ -6408,41 +6489,49 @@ msgstr ""
msgid "Open subassembly"
msgstr ""
-#: templates/js/bom.js:261
+#: templates/js/bom.js:249
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/bom.js:257
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/bom.js:277
msgid "No pricing available"
msgstr ""
-#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/bom.js:288 templates/js/filters.js:167
#: templates/js/filters.js:397
msgid "true"
msgstr ""
-#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/bom.js:289 templates/js/filters.js:171
#: templates/js/filters.js:398
msgid "false"
msgstr ""
-#: templates/js/bom.js:290 templates/js/bom.js:376
+#: templates/js/bom.js:306 templates/js/bom.js:392
msgid "View BOM"
msgstr ""
-#: templates/js/bom.js:350
+#: templates/js/bom.js:366
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/bom.js:352
+#: templates/js/bom.js:368
msgid "This line has been validated"
msgstr ""
-#: templates/js/bom.js:354
+#: templates/js/bom.js:370
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/bom.js:356
+#: templates/js/bom.js:372
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+#: templates/js/bom.js:463 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr ""
@@ -6485,7 +6574,7 @@ msgstr ""
#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
#: templates/js/stock.js:511 templates/js/stock.js:938
-#: templates/js/stock.js:1453
+#: templates/js/stock.js:1458
msgid "Select"
msgstr ""
@@ -6748,6 +6837,10 @@ msgstr ""
msgid "This test is defined for a parent part"
msgstr ""
+#: templates/js/part.js:727
+msgid "Single Price Difference"
+msgstr ""
+
#: templates/js/report.js:47
msgid "items selected"
msgstr ""
@@ -6942,55 +7035,55 @@ msgstr ""
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1036
+#: templates/js/stock.js:1041
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1055
+#: templates/js/stock.js:1060
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1074
+#: templates/js/stock.js:1079
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1097
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1115
+#: templates/js/stock.js:1120
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1123
+#: templates/js/stock.js:1128
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1155
+#: templates/js/stock.js:1160
msgid "No user information"
msgstr ""
-#: templates/js/stock.js:1167
+#: templates/js/stock.js:1172
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1168
+#: templates/js/stock.js:1173
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1292
+#: templates/js/stock.js:1297
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1391
+#: templates/js/stock.js:1396
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1484 templates/js/table_filters.js:172
+#: templates/js/stock.js:1489 templates/js/table_filters.js:172
msgid "Installed"
msgstr ""
-#: templates/js/stock.js:1509
+#: templates/js/stock.js:1514
msgid "Install item"
msgstr ""
@@ -7472,4 +7565,3 @@ msgstr ""
#: users/models.py:187
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index fe9b71062e..80c2ab0260 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: 2021-05-17 10:46+0000\n"
-"PO-Revision-Date: 2021-05-17 10:47\n"
+"POT-Creation-Date: 2021-05-29 07:28+0000\n"
+"PO-Revision-Date: 2021-05-28 04:02\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -33,42 +33,42 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:110 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:126
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:127
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:159 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:160
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:167
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:168
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:233
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -122,9 +122,9 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1946
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1146
+#: templates/js/stock.js:1151
msgid "User"
msgstr ""
@@ -133,7 +133,7 @@ msgid "upload date"
msgstr ""
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:102
-#: part/models.py:686 part/models.py:2087 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/part.js:110
#: templates/js/part.js:553 templates/js/stock.js:944
@@ -171,23 +171,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -232,7 +232,7 @@ msgid "Returned"
msgstr ""
#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:124
+#: order/templates/order/sales_order_base.html:126
msgid "Shipped"
msgstr ""
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:587
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:636
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:681
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:887 templates/navbar.html:95
+#: InvenTree/views.py:937 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -444,10 +444,10 @@ msgstr ""
msgid "Order target date"
msgstr ""
-#: build/forms.py:42 build/templates/build/build_base.html:136
+#: build/forms.py:42 build/templates/build/build_base.html:146
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:117
+#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
@@ -461,8 +461,8 @@ msgstr ""
#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1245
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:123
-#: build/templates/build/detail.html:31 common/models.py:705
+#: build/templates/build/build_base.html:133
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -473,20 +473,22 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:162
#: order/templates/order/sales_order_detail.html:230 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2216
+#: part/forms.py:371 part/forms.py:387 part/models.py:2269
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
-#: part/templates/part/part_pricing.html:13
+#: part/templates/part/order_prices.html:175
+#: part/templates/part/part_pricing.html:12
#: part/templates/part/sale_prices.html:85
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
#: stock/forms.py:175 stock/forms.py:308
-#: stock/templates/stock/item_base.html:250
+#: stock/templates/stock/item_base.html:255
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
-#: templates/js/stock.js:1131 templates/js/stock.js:1393
+#: templates/js/part.js:717 templates/js/stock.js:1136
+#: templates/js/stock.js:1398
msgid "Quantity"
msgstr ""
@@ -528,11 +530,11 @@ msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
-#: stock/templates/stock/item_base.html:280
+#: stock/templates/stock/item_base.html:285
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:490
-#: templates/js/stock.js:641 templates/js/stock.js:1023
+#: templates/js/stock.js:641 templates/js/stock.js:1028
msgid "Location"
msgstr ""
@@ -540,14 +542,14 @@ msgstr ""
msgid "Location of completed parts"
msgstr ""
-#: build/forms.py:215 build/templates/build/build_base.html:128
+#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:59 order/models.py:466
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:398 templates/InvenTree/search.html:252
+#: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:770
#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1100
-#: templates/js/stock.js:1401
+#: templates/js/stock.js:628 templates/js/stock.js:1105
+#: templates/js/stock.js:1406
msgid "Status"
msgstr ""
@@ -580,7 +582,7 @@ msgid "Select quantity of stock to allocate"
msgstr ""
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:63
+#: build/templates/build/build_base.html:73
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -592,7 +594,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -602,7 +604,7 @@ msgstr ""
#: build/models.py:127 order/models.py:99 order/models.py:616
#: order/templates/order/purchase_order_detail.html:170
-#: order/templates/order/sales_order_detail.html:225 part/models.py:2225
+#: order/templates/order/sales_order_detail.html:225 part/models.py:2278
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
#: templates/js/build.js:565 templates/js/build.js:1008
@@ -613,7 +615,7 @@ msgstr ""
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/models.py:146 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr ""
@@ -623,17 +625,17 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:128
#: build/templates/build/detail.html:26 company/models.py:622
#: order/models.py:658 order/models.py:691
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:131
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:213 part/models.py:321
-#: part/models.py:1914 part/models.py:1926 part/models.py:1944
-#: part/models.py:2019 part/models.py:2115 part/models.py:2200
+#: part/models.py:1967 part/models.py:1979 part/models.py:1997
+#: part/models.py:2072 part/models.py:2168 part/models.py:2253
#: part/templates/part/part_app_base.html:8
-#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29
+#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
@@ -643,7 +645,7 @@ msgstr ""
#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
-#: templates/js/stock.js:1465
+#: templates/js/stock.js:1470
msgid "Part"
msgstr ""
@@ -691,7 +693,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:204 part/templates/part/part_base.html:160
+#: build/models.py:204 part/templates/part/part_base.html:167
msgid "Build Status"
msgstr ""
@@ -732,10 +734,10 @@ msgstr ""
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/models.py:250 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: order/templates/order/sales_order_base.html:140 part/models.py:886
#: report/templates/report/inventree_build_order_base.html:159
msgid "Responsible"
msgstr ""
@@ -749,8 +751,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:28
#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
-#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
-#: stock/models.py:458 stock/templates/stock/item_base.html:340
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:94
+#: stock/models.py:458 stock/templates/stock/item_base.html:345
msgid "External Link"
msgstr ""
@@ -768,12 +770,12 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:278
#: order/templates/order/so_navbar.html:33
#: order/templates/order/so_navbar.html:36 part/models.py:871
-#: part/templates/part/navbar.html:128
+#: part/templates/part/navbar.html:134
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+#: templates/js/bom.js:349 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
msgstr ""
@@ -823,7 +825,7 @@ msgstr ""
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1224 stock/templates/stock/item_base.html:312
+#: build/models.py:1224 stock/templates/stock/item_base.html:317
#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
@@ -838,10 +840,10 @@ msgstr ""
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/item_base.html:334
+#: stock/templates/stock/item_base.html:31
+#: stock/templates/stock/item_base.html:339
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
-#: templates/js/stock.js:1082 templates/js/stock.js:1384
+#: templates/js/stock.js:1087 templates/js/stock.js:1389
msgid "Stock Item"
msgstr ""
@@ -913,7 +915,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: order/templates/order/sales_order_detail.html:160
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:452 stock/templates/stock/item_base.html:244
+#: stock/models.py:452 stock/templates/stock/item_base.html:249
#: templates/js/build.js:474
msgid "Serial Number"
msgstr ""
@@ -921,8 +923,8 @@ msgstr ""
#: build/templates/build/attachments.html:12
#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
-#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
-#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:125
+#: part/templates/part/navbar.html:128 stock/templates/stock/navbar.html:47
#: stock/templates/stock/navbar.html:50
msgid "Attachments"
msgstr ""
@@ -943,119 +945,119 @@ msgstr ""
msgid "Stock items will have to be manually allocated"
msgstr ""
-#: build/templates/build/build_base.html:16
+#: build/templates/build/build_base.html:18
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:22
+#: build/templates/build/build_base.html:25
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:31
+#: build/templates/build/build_base.html:32
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:36
+#: build/templates/build/build_base.html:37
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:41
+#: build/templates/build/build_base.html:42
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:46
+#: build/templates/build/build_base.html:47
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:75
#: company/templates/company/company_base.html:40
#: company/templates/company/manufacturer_part_base.html:25
#: company/templates/company/supplier_part_base.html:26
#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:124
+#: order/templates/order/sales_order_base.html:37
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:22
+#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
msgstr ""
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:81
+#: build/templates/build/build_base.html:150
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:41
-#: order/templates/order/sales_order_base.html:86
+#: order/templates/order/sales_order_base.html:43
+#: order/templates/order/sales_order_base.html:88
#: templates/js/table_filters.js:241 templates/js/table_filters.js:260
#: templates/js/table_filters.js:277
msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:80
+#: build/templates/build/build_base.html:90
msgid "Print actions"
msgstr ""
-#: build/templates/build/build_base.html:84
+#: build/templates/build/build_base.html:94
msgid "Print Build Order"
msgstr ""
-#: build/templates/build/build_base.html:90
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:100
+#: build/templates/build/build_base.html:225
msgid "Complete Build"
msgstr ""
-#: build/templates/build/build_base.html:95
+#: build/templates/build/build_base.html:105
msgid "Build actions"
msgstr ""
-#: build/templates/build/build_base.html:99
+#: build/templates/build/build_base.html:109
msgid "Edit Build"
msgstr ""
-#: build/templates/build/build_base.html:101
-#: build/templates/build/build_base.html:199 build/views.py:57
+#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:209 build/views.py:57
msgid "Cancel Build"
msgstr ""
-#: build/templates/build/build_base.html:114
+#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr ""
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:150
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:147
+#: build/templates/build/build_base.html:157
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr ""
-#: build/templates/build/build_base.html:160
+#: build/templates/build/build_base.html:170
#: build/templates/build/detail.html:84 order/models.py:689
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_base.html:35
#: order/templates/order/sales_order_ship.html:25
#: part/templates/part/allocation.html:30
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:274 templates/js/order.js:245
+#: stock/templates/stock/item_base.html:279 templates/js/order.js:245
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:167
+#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:207
+#: build/templates/build/build_base.html:217
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:208
+#: build/templates/build/build_base.html:218
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1191,15 +1193,15 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:298 templates/js/stock.js:636
-#: templates/js/stock.js:1408 templates/js/table_filters.js:108
+#: stock/templates/stock/item_base.html:303 templates/js/stock.js:636
+#: templates/js/stock.js:1413 templates/js/table_filters.js:108
#: templates/js/table_filters.js:202
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+#: order/templates/order/sales_order_base.html:113 templates/js/build.js:778
msgid "Created"
msgstr ""
@@ -1282,8 +1284,8 @@ msgstr ""
#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
#: order/templates/order/order_notes.html:27
#: order/templates/order/sales_order_notes.html:29
-#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:477
-#: stock/templates/stock/item_base.html:487
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:482
+#: stock/templates/stock/item_base.html:492
#: stock/templates/stock/item_notes.html:26
msgid "Save"
msgstr ""
@@ -1429,7 +1431,7 @@ msgstr ""
msgid "Add Build Order Attachment"
msgstr ""
-#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:172
+#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:173
#: stock/views.py:277
msgid "Added attachment"
msgstr ""
@@ -1466,368 +1468,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:38 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:39
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:55
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
msgid "Download from URL"
msgstr ""
-#: common/models.py:92
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:98
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:99
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:105
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:106
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:110
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:111
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:124
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:125
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:146
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:153
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:159 part/models.py:2117 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:160
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:166 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:167
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:173 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:174
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:180 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:181
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:187 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:194 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:201 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:202
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:208
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:209
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:215 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:216
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:222
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:223
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:233
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:234
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:241
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:247
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:248
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:254
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:255
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:257 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:262
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:263
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:269
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:270
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:276
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:277
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:283
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:284
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:290
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:291
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:296
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:297
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:301
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:302
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:307
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:308
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:531
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:533
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:568
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:591
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:602
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:625
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:706 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:714 company/templates/company/supplier_part_pricing.html:82
-#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:271
msgid "Price"
msgstr ""
-#: common/models.py:715
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:804
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -1882,7 +1876,7 @@ msgstr ""
msgid "Image URL"
msgstr ""
-#: company/forms.py:118
+#: company/forms.py:118 templates/js/part.js:708
msgid "Single Price"
msgstr ""
@@ -1998,7 +1992,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:305 company/models.py:456 stock/models.py:405
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:235
msgid "Base Part"
msgstr ""
@@ -2011,7 +2005,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:25
#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:347
+#: part/bom.py:241 stock/templates/stock/item_base.html:352
#: templates/js/company.js:44 templates/js/company.js:165
#: templates/js/company.js:289
msgid "Manufacturer"
@@ -2030,7 +2024,7 @@ msgstr ""
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:359
+#: part/bom.py:286 stock/templates/stock/item_base.html:364
#: templates/js/company.js:48 templates/js/company.js:263
#: templates/js/order.js:170
msgid "Supplier"
@@ -2054,7 +2048,7 @@ msgstr ""
#: company/models.py:479
#: company/templates/company/manufacturer_part_base.html:6
#: company/templates/company/manufacturer_part_base.html:19
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:357
msgid "Manufacturer Part"
msgstr ""
@@ -2071,7 +2065,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:497 company/templates/company/supplier_part_base.html:116
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2228
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2281
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -2086,7 +2080,7 @@ msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:503 company/templates/company/supplier_part_base.html:109
-#: stock/models.py:429 stock/templates/stock/item_base.html:305
+#: stock/models.py:429 stock/templates/stock/item_base.html:310
#: templates/js/stock.js:667
msgid "Packaging"
msgstr ""
@@ -2154,7 +2148,8 @@ msgstr ""
#: company/templates/company/delete.html:12
#, python-format
-msgid "There are %(count)s parts sourced from this company.
\n"
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
"If this supplier is deleted, these supplier part entries will also be deleted."
msgstr ""
@@ -2171,10 +2166,10 @@ msgid "Uses default currency"
msgstr ""
#: company/templates/company/detail.html:67 order/models.py:461
-#: order/templates/order/sales_order_base.html:92 stock/models.py:447
-#: stock/models.py:448 stock/templates/stock/item_base.html:257
+#: order/templates/order/sales_order_base.html:94 stock/models.py:447
+#: stock/models.py:448 stock/templates/stock/item_base.html:262
#: templates/js/company.js:40 templates/js/order.js:267
-#: templates/js/stock.js:1064
+#: templates/js/stock.js:1069
msgid "Customer"
msgstr ""
@@ -2220,7 +2215,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1279
+#: templates/js/stock.js:1284
msgid "New Part"
msgstr ""
@@ -2267,7 +2262,7 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:49
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1285
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1290
msgid "New Supplier Part"
msgstr ""
@@ -2290,7 +2285,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
msgid "Order part"
msgstr ""
@@ -2324,8 +2319,8 @@ msgid "There are %(count)s suppliers defined for this manufacturer part. If you
msgstr ""
#: company/templates/company/manufacturer_part_navbar.html:14
-#: company/views.py:63 part/templates/part/navbar.html:78
-#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: company/views.py:63 part/templates/part/navbar.html:84
+#: part/templates/part/navbar.html:87 templates/InvenTree/search.html:316
#: templates/navbar.html:35
msgid "Suppliers"
msgstr ""
@@ -2342,7 +2337,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2400,10 +2395,10 @@ msgstr ""
#: company/templates/company/sales_orders.html:11
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
-#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/navbar.html:104 part/templates/part/navbar.html:107
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2412,10 +2407,10 @@ msgstr ""
#: company/templates/company/purchase_orders.html:10
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/navbar.html:90 part/templates/part/navbar.html:93
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -2446,7 +2441,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:414
-#: stock/templates/stock/item_base.html:364 templates/js/company.js:279
+#: stock/templates/stock/item_base.html:369 templates/js/company.js:279
msgid "Supplier Part"
msgstr ""
@@ -2495,7 +2490,7 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
-#: part/templates/part/sale_prices.html:17 part/views.py:2644
+#: part/templates/part/sale_prices.html:17 part/views.py:2733
msgid "Add Price Break"
msgstr ""
@@ -2514,8 +2509,8 @@ msgstr ""
msgid "Delete price break"
msgstr ""
-#: company/views.py:70 part/templates/part/navbar.html:72
-#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: company/views.py:70 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:306
#: templates/navbar.html:36
msgid "Manufacturers"
msgstr ""
@@ -2537,20 +2532,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:169 part/views.py:848
+#: company/views.py:169 part/views.py:937
msgid "Download Image"
msgstr ""
-#: company/views.py:198 part/views.py:880
+#: company/views.py:198 part/views.py:969
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:205 part/views.py:887
+#: company/views.py:205 part/views.py:976
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:214 part/views.py:896
+#: company/views.py:214 part/views.py:985
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2602,7 +2597,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:578 templates/js/stock.js:1286
+#: company/views.py:578 templates/js/stock.js:1291
msgid "Create new Supplier Part"
msgstr ""
@@ -2610,15 +2605,15 @@ msgstr ""
msgid "Delete Supplier Part"
msgstr ""
-#: company/views.py:799 part/views.py:2648
+#: company/views.py:799 part/views.py:2737
msgid "Added new price break"
msgstr ""
-#: company/views.py:855 part/views.py:2692
+#: company/views.py:855 part/views.py:2781
msgid "Edit Price Break"
msgstr ""
-#: company/views.py:870 part/views.py:2706
+#: company/views.py:870 part/views.py:2795
msgid "Delete Price Break"
msgstr ""
@@ -2692,11 +2687,11 @@ msgid "Mark order as complete"
msgstr ""
#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
-#: order/templates/order/sales_order_base.html:59
+#: order/templates/order/sales_order_base.html:61
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+#: order/forms.py:71 order/templates/order/sales_order_base.html:58
msgid "Ship order"
msgstr ""
@@ -2793,7 +2788,7 @@ msgstr ""
msgid "Date order was completed"
msgstr ""
-#: order/models.py:243 part/views.py:1586 stock/models.py:302
+#: order/models.py:243 part/views.py:1675 stock/models.py:302
#: stock/models.py:1018
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2859,8 +2854,8 @@ msgstr ""
#: order/models.py:645 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:319 templates/js/order.js:148
-#: templates/js/stock.js:1045
+#: stock/templates/stock/item_base.html:324 templates/js/order.js:148
+#: templates/js/stock.js:1050
msgid "Purchase Order"
msgstr ""
@@ -2871,7 +2866,7 @@ msgstr ""
#: order/models.py:662 order/templates/order/order_base.html:131
#: order/templates/order/purchase_order_detail.html:189
#: order/templates/order/receive_parts.html:22
-#: order/templates/order/sales_order_base.html:131
+#: order/templates/order/sales_order_base.html:133
msgid "Received"
msgstr ""
@@ -2880,7 +2875,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:669 stock/models.py:540
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:331
msgid "Purchase Price"
msgstr ""
@@ -2888,8 +2883,9 @@ msgstr ""
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:698 part/templates/part/navbar.html:95
-#: part/templates/part/part_pricing.html:78
+#: order/models.py:698 part/templates/part/navbar.html:101
+#: part/templates/part/order_prices.html:82
+#: part/templates/part/part_pricing.html:77
msgid "Sale Price"
msgstr ""
@@ -2940,12 +2936,12 @@ msgid "Are you sure you want to delete this attachment?"
msgstr ""
#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:48
+#: order/templates/order/sales_order_base.html:50
msgid "Print"
msgstr ""
#: order/templates/order/order_base.html:43
-#: order/templates/order/sales_order_base.html:52
+#: order/templates/order/sales_order_base.html:54
msgid "Edit order information"
msgstr ""
@@ -2963,12 +2959,12 @@ msgid "Purchase Order Details"
msgstr ""
#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:77
+#: order/templates/order/sales_order_base.html:79
msgid "Order Reference"
msgstr ""
#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:82
+#: order/templates/order/sales_order_base.html:84
msgid "Order Status"
msgstr ""
@@ -2981,7 +2977,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:100
#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1291
+#: templates/js/stock.js:1296
msgid "New Location"
msgstr ""
@@ -3193,14 +3189,14 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: order/templates/order/receive_parts.html:14 part/api.py:45
#: part/models.py:322 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:99
#: part/templates/part/category_navbar.html:22
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -3215,7 +3211,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:414
+#: part/templates/part/part_base.html:136 templates/js/part.js:414
msgid "On Order"
msgstr ""
@@ -3231,20 +3227,20 @@ msgstr ""
msgid "Remove line"
msgstr ""
-#: order/templates/order/sales_order_base.html:15
-msgid "This SalesOrder has not been fully allocated"
+#: order/templates/order/sales_order_base.html:16
+msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:64
+#: order/templates/order/sales_order_base.html:66
msgid "Packing List"
msgstr ""
-#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/sales_order_base.html:74
#: order/templates/order/so_navbar.html:12
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275
msgid "Customer Reference"
msgstr ""
@@ -3263,7 +3259,7 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:342
+#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358
#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr ""
@@ -3558,7 +3554,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:139 part/templates/part/part_base.html:117
+#: part/bom.py:139 part/templates/part/part_base.html:124
msgid "Available Stock"
msgstr ""
@@ -3631,7 +3627,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:122 part/models.py:2115
+#: part/forms.py:122 part/models.py:2168
msgid "Parent Part"
msgstr ""
@@ -3707,7 +3703,7 @@ msgstr ""
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:344 part/models.py:2209
+#: part/forms.py:344 part/models.py:2262
msgid "Sub part"
msgstr ""
@@ -3727,7 +3723,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:82 part/models.py:2161
+#: part/models.py:82 part/models.py:2214
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -3797,7 +3793,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:724 part/models.py:2160 part/templates/part/detail.html:73
+#: part/models.py:724 part/models.py:2213 part/templates/part/detail.html:73
#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr ""
@@ -3807,7 +3803,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:161
+#: part/templates/part/part_base.html:87 templates/js/part.js:161
msgid "IPN"
msgstr ""
@@ -3852,7 +3848,7 @@ msgstr ""
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:828 part/models.py:2089 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2142 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr ""
@@ -3923,167 +3919,167 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:1987
+#: part/models.py:2040
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2004
+#: part/models.py:2057
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2024 templates/js/part.js:638 templates/js/stock.js:104
+#: part/models.py:2077 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr ""
-#: part/models.py:2025
+#: part/models.py:2078
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2030
+#: part/models.py:2083
msgid "Test Description"
msgstr ""
-#: part/models.py:2031
+#: part/models.py:2084
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2036 templates/js/part.js:647
+#: part/models.py:2089 templates/js/part.js:647
#: templates/js/table_filters.js:223
msgid "Required"
msgstr ""
-#: part/models.py:2037
+#: part/models.py:2090
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2042 templates/js/part.js:655
+#: part/models.py:2095 templates/js/part.js:655
msgid "Requires Value"
msgstr ""
-#: part/models.py:2043
+#: part/models.py:2096
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2048 templates/js/part.js:662
+#: part/models.py:2101 templates/js/part.js:662
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2049
+#: part/models.py:2102
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2082
+#: part/models.py:2135
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2087
+#: part/models.py:2140
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2089
+#: part/models.py:2142
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2117 part/models.py:2166 part/models.py:2167
+#: part/models.py:2170 part/models.py:2219 part/models.py:2220
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Data"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2171 templates/InvenTree/settings/category.html:67
+#: part/models.py:2224 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2225
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2201
+#: part/models.py:2254
msgid "Select parent part"
msgstr ""
-#: part/models.py:2210
+#: part/models.py:2263
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2216
+#: part/models.py:2269
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2218 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2271 templates/js/bom.js:216 templates/js/bom.js:285
msgid "Optional"
msgstr ""
-#: part/models.py:2218
+#: part/models.py:2271
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2221
+#: part/models.py:2274
msgid "Overage"
msgstr ""
-#: part/models.py:2222
+#: part/models.py:2275
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2225
+#: part/models.py:2278
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2228
+#: part/models.py:2281
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "Checksum"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2234 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2287 templates/js/bom.js:295 templates/js/bom.js:302
#: templates/js/table_filters.js:51
msgid "Inherited"
msgstr ""
-#: part/models.py:2235
+#: part/models.py:2288
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2311 part/views.py:1592 part/views.py:1644
+#: part/models.py:2364 part/views.py:1681 part/views.py:1733
#: stock/models.py:292
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2320 part/models.py:2322
+#: part/models.py:2373 part/models.py:2375
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2325
+#: part/models.py:2378
msgid "BOM Item"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2495
msgid "Part 1"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Part 2"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2478
+#: part/models.py:2531
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4151,7 +4147,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:61 part/views.py:1887
+#: part/templates/part/bom.html:61 part/views.py:1976
msgid "Export Bill of Materials"
msgstr ""
@@ -4167,8 +4163,8 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1280
+#: part/templates/part/bom.html:160 part/views.py:585
+#: templates/js/stock.js:1285
msgid "Create New Part"
msgstr ""
@@ -4249,7 +4245,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:29 part/views.py:2290
+#: part/templates/part/category.html:29 part/views.py:2379
msgid "Create new part category"
msgstr ""
@@ -4367,7 +4363,7 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:460
+#: part/templates/part/copy_part.html:9 part/views.py:461
msgid "Duplicate Part"
msgstr ""
@@ -4504,27 +4500,111 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/templates/part/navbar.html:92
+#: part/templates/part/navbar.html:72 part/templates/part/order_prices.html:12
+msgid "Order Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:75
+msgid "Order Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:98
msgid "Sales Price Information"
msgstr ""
-#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+#: part/templates/part/navbar.html:112 part/templates/part/part_tests.html:10
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:404
+#: part/templates/part/navbar.html:115 stock/templates/stock/item_base.html:409
msgid "Tests"
msgstr ""
-#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/navbar.html:119 part/templates/part/navbar.html:122
#: part/templates/part/related.html:10
msgid "Related Parts"
msgstr ""
-#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+#: part/templates/part/navbar.html:131 part/templates/part/notes.html:12
msgid "Part Notes"
msgstr ""
+#: part/templates/part/order_prices.html:21
+msgid "Pricing ranges"
+msgstr ""
+
+#: part/templates/part/order_prices.html:26
+#: part/templates/part/part_pricing.html:18
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:27
+#: part/templates/part/order_prices.html:52
+#: part/templates/part/order_prices.html:83
+#: part/templates/part/part_pricing.html:22
+#: part/templates/part/part_pricing.html:48
+#: part/templates/part/part_pricing.html:80
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:34
+#: part/templates/part/order_prices.html:59
+#: part/templates/part/order_prices.html:88
+#: part/templates/part/part_pricing.html:28
+#: part/templates/part/part_pricing.html:54
+#: part/templates/part/part_pricing.html:84
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:42
+#: part/templates/part/part_pricing.html:36
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:51
+#: part/templates/part/order_prices.html:103
+#: part/templates/part/part_pricing.html:44
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:67
+#: part/templates/part/part_pricing.html:62
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/order_prices.html:74
+#: part/templates/part/part_pricing.html:69
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:97
+#: part/templates/part/part_pricing.html:93
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:113
+msgid "Stock Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:121
+msgid "No stock pricing history is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:140
+#, python-format
+msgid "Single Price - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:152
+#, python-format
+msgid "Single Price Difference - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:163
+#, python-format
+msgid "Part Single Price - %(currency)s"
+msgstr ""
+
#: part/templates/part/params.html:17
msgid "Add new parameter"
msgstr ""
@@ -4558,126 +4638,94 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:18
-#, python-format
-msgid "This part is a variant of %(link)s"
-msgstr ""
-
-#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: part/templates/part/part_base.html:26 templates/js/company.js:156
#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr ""
-#: part/templates/part/part_base.html:40
+#: part/templates/part/part_base.html:33
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:47
-#: stock/templates/stock/item_base.html:137
+#: part/templates/part/part_base.html:40
+#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:49
-#: stock/templates/stock/item_base.html:139
+#: part/templates/part/part_base.html:42
+#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:50
-#: stock/templates/stock/item_base.html:155
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:55
+#: part/templates/part/part_base.html:48
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:59
+#: part/templates/part/part_base.html:52
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:74
+#: part/templates/part/part_base.html:67
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:77
+#: part/templates/part/part_base.html:70
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:80
+#: part/templates/part/part_base.html:73
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:83
+#: part/templates/part/part_base.html:76
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:157
+#: part/templates/part/part_base.html:107
+msgid "This is a virtual part"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:130 templates/js/table_filters.js:157
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:143
+#: part/templates/part/part_base.html:150
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:157
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+#: part/templates/part/part_base.html:172 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:171 templates/js/part.js:418
+#: part/templates/part/part_base.html:178 templates/js/part.js:418
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:250
+#: part/templates/part/part_base.html:257
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_pricing.html:19
-msgid "Supplier Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:23
-#: part/templates/part/part_pricing.html:49
-#: part/templates/part/part_pricing.html:81
-msgid "Unit Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:29
-#: part/templates/part/part_pricing.html:55
-#: part/templates/part/part_pricing.html:85
-msgid "Total Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:37
-msgid "No supplier pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:45
-msgid "BOM Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:63
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:70
-msgid "No BOM pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:94
-msgid "No pricing information is available for this part."
-msgstr ""
-
#: part/templates/part/part_tests.html:17
msgid "Add Test Template"
msgstr ""
@@ -4787,212 +4835,212 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:89
+#: part/views.py:90
msgid "Add Related Part"
msgstr ""
-#: part/views.py:144
+#: part/views.py:145
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:158
+#: part/views.py:159
msgid "Add part attachment"
msgstr ""
-#: part/views.py:211 templates/attachment_table.html:32
+#: part/views.py:212 templates/attachment_table.html:32
msgid "Edit attachment"
msgstr ""
-#: part/views.py:215
+#: part/views.py:216
msgid "Part attachment updated"
msgstr ""
-#: part/views.py:230
+#: part/views.py:231
msgid "Delete Part Attachment"
msgstr ""
-#: part/views.py:238
+#: part/views.py:239
msgid "Deleted part attachment"
msgstr ""
-#: part/views.py:247
+#: part/views.py:248
msgid "Create Test Template"
msgstr ""
-#: part/views.py:274
+#: part/views.py:275
msgid "Edit Test Template"
msgstr ""
-#: part/views.py:288
+#: part/views.py:289
msgid "Delete Test Template"
msgstr ""
-#: part/views.py:295
+#: part/views.py:296
msgid "Set Part Category"
msgstr ""
-#: part/views.py:345
+#: part/views.py:346
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:380
+#: part/views.py:381
msgid "Create Variant"
msgstr ""
-#: part/views.py:465
+#: part/views.py:466
msgid "Copied part"
msgstr ""
-#: part/views.py:519 part/views.py:657
+#: part/views.py:520 part/views.py:658
msgid "Possible matches exist - confirm creation of new part"
msgstr ""
-#: part/views.py:589
+#: part/views.py:590
msgid "Created new part"
msgstr ""
-#: part/views.py:825
+#: part/views.py:914
msgid "Part QR Code"
msgstr ""
-#: part/views.py:927
+#: part/views.py:1016
msgid "Upload Part Image"
msgstr ""
-#: part/views.py:933 part/views.py:968
+#: part/views.py:1022 part/views.py:1057
msgid "Updated part image"
msgstr ""
-#: part/views.py:942
+#: part/views.py:1031
msgid "Select Part Image"
msgstr ""
-#: part/views.py:971
+#: part/views.py:1060
msgid "Part image not found"
msgstr ""
-#: part/views.py:982
+#: part/views.py:1071
msgid "Edit Part Properties"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1106
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1047
+#: part/views.py:1136
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1068
+#: part/views.py:1157
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1089
+#: part/views.py:1178
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1100
+#: part/views.py:1189
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1234
+#: part/views.py:1323
msgid "No BOM file provided"
msgstr ""
-#: part/views.py:1595
+#: part/views.py:1684
msgid "Enter a valid quantity"
msgstr ""
-#: part/views.py:1620 part/views.py:1623
+#: part/views.py:1709 part/views.py:1712
msgid "Select valid part"
msgstr ""
-#: part/views.py:1629
+#: part/views.py:1718
msgid "Duplicate part selected"
msgstr ""
-#: part/views.py:1667
+#: part/views.py:1756
msgid "Select a part"
msgstr ""
-#: part/views.py:1673
+#: part/views.py:1762
msgid "Selected part creates a circular BOM"
msgstr ""
-#: part/views.py:1677
+#: part/views.py:1766
msgid "Specify quantity"
msgstr ""
-#: part/views.py:1939
+#: part/views.py:2028
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1946
+#: part/views.py:2035
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1955
+#: part/views.py:2044
msgid "Part Pricing"
msgstr ""
-#: part/views.py:2089
+#: part/views.py:2178
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:2099
+#: part/views.py:2188
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:2106
+#: part/views.py:2195
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:2114
+#: part/views.py:2203
msgid "Create Part Parameter"
msgstr ""
-#: part/views.py:2164
+#: part/views.py:2253
msgid "Edit Part Parameter"
msgstr ""
-#: part/views.py:2178
+#: part/views.py:2267
msgid "Delete Part Parameter"
msgstr ""
-#: part/views.py:2238
+#: part/views.py:2327
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:2276
+#: part/views.py:2365
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:2282
+#: part/views.py:2371
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:2334
+#: part/views.py:2423
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2435
+#: part/views.py:2524
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2491
+#: part/views.py:2580
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2510
+#: part/views.py:2599
msgid "Create BOM Item"
msgstr ""
-#: part/views.py:2580
+#: part/views.py:2669
msgid "Edit BOM item"
msgstr ""
-#: part/views.py:2636
+#: part/views.py:2725
msgid "Confim BOM item deletion"
msgstr ""
@@ -5127,7 +5175,7 @@ msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507
-#: stock/templates/stock/item_base.html:371 templates/js/stock.js:656
+#: stock/templates/stock/item_base.html:376 templates/js/stock.js:656
msgid "Expiry Date"
msgstr ""
@@ -5277,7 +5325,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:435 stock/templates/stock/item_base.html:265
+#: stock/models.py:435 stock/templates/stock/item_base.html:270
msgid "Installed In"
msgstr ""
@@ -5412,173 +5460,173 @@ msgstr ""
msgid "Stock Item Attachments"
msgstr ""
-#: stock/templates/stock/item_base.html:24
-msgid "You are not in the list of owners of this item. This stock item cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:31
-msgid "This stock item is in production and cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:32
-msgid "Edit the stock item from the build view."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:45
-msgid "This stock item has not passed all required tests"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:53
-#, python-format
-msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:61
-#, python-format
-msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:67
-msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:71
-msgid "This stock item cannot be deleted as it has child items"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:75
-msgid "This stock item will be automatically deleted when all stock is depleted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:375 templates/js/table_filters.js:146
+#: stock/templates/stock/item_base.html:33
+#: stock/templates/stock/item_base.html:380 templates/js/table_filters.js:146
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:105
-#: stock/templates/stock/item_base.html:377 templates/js/table_filters.js:151
+#: stock/templates/stock/item_base.html:43
+#: stock/templates/stock/item_base.html:382 templates/js/table_filters.js:151
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:142 templates/js/barcode.js:309
+#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
#: templates/js/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:144
+#: stock/templates/stock/item_base.html:82
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:146 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:91
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:157
+#: stock/templates/stock/item_base.html:95
#: stock/templates/stock/item_tests.html:27
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item_base.html:166
+#: stock/templates/stock/item_base.html:104
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:170
+#: stock/templates/stock/item_base.html:108
#: stock/templates/stock/location.html:65 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:173 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:176 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:117
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:183
+#: stock/templates/stock/item_base.html:121
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:186
+#: stock/templates/stock/item_base.html:124
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:189
+#: stock/templates/stock/item_base.html:127
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:193 templates/js/stock.js:1421
+#: stock/templates/stock/item_base.html:131 templates/js/stock.js:1426
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:193
+#: stock/templates/stock/item_base.html:131
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:140
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: stock/templates/stock/item_base.html:205
+#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:146
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:148
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:213
+#: stock/templates/stock/item_base.html:151
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:225
+#: stock/templates/stock/item_base.html:171
+msgid "You are not in the list of owners of this item. This stock item cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:178
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:179
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:192
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:200
+#, python-format
+msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:208
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:214
+msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:218
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:222
+msgid "This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:230
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:284 templates/js/build.js:498
+#: stock/templates/stock/item_base.html:289 templates/js/build.js:498
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:291
+#: stock/templates/stock/item_base.html:296
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:333
+#: stock/templates/stock/item_base.html:338
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:380
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:377
+#: stock/templates/stock/item_base.html:382
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:384 templates/js/stock.js:662
+#: stock/templates/stock/item_base.html:389 templates/js/stock.js:662
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:389
+#: stock/templates/stock/item_base.html:394
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:398
msgid "No stocktake performed"
msgstr ""
@@ -6067,7 +6115,8 @@ msgstr ""
#: templates/InvenTree/settings/appearance.html:29
#, python-format
-msgid "\n"
+msgid ""
+"\n"
" The CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected color theme was not found.
\n"
" Please select another color theme :)\n"
" "
@@ -6107,11 +6156,35 @@ msgstr ""
msgid "Delete Template"
msgstr ""
+#: templates/InvenTree/settings/currencies.html:10
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
+msgstr ""
+
#: templates/InvenTree/settings/global.html:10
msgid "Global InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:27
+#: templates/InvenTree/settings/global.html:26
msgid "Barcode Settings"
msgstr ""
@@ -6190,10 +6263,14 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:25
msgid "Categories"
msgstr ""
@@ -6239,46 +6316,50 @@ msgid "Update Available"
msgstr ""
#: templates/about.html:34
+msgid "API Version"
+msgstr ""
+
+#: templates/about.html:39
msgid "Django Version"
msgstr ""
-#: templates/about.html:41
+#: templates/about.html:46
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:48
+#: templates/about.html:53
msgid "Commit Date"
msgstr ""
-#: templates/about.html:53
+#: templates/about.html:58
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:58
+#: templates/about.html:63
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:63
+#: templates/about.html:68
msgid "Credits"
msgstr ""
-#: templates/about.html:68
+#: templates/about.html:73
msgid "Mobile App"
msgstr ""
-#: templates/about.html:73
+#: templates/about.html:78
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:80 templates/clip.html:4
+#: templates/about.html:85 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:85
msgid "copy version information"
msgstr ""
-#: templates/about.html:90 templates/js/modals.js:568
+#: templates/about.html:95 templates/js/modals.js:568
#: templates/js/modals.js:846 templates/modals.html:29 templates/modals.html:54
#: templates/modals.html:97
msgid "Close"
@@ -6408,41 +6489,49 @@ msgstr ""
msgid "Open subassembly"
msgstr ""
-#: templates/js/bom.js:261
+#: templates/js/bom.js:249
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/bom.js:257
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/bom.js:277
msgid "No pricing available"
msgstr ""
-#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/bom.js:288 templates/js/filters.js:167
#: templates/js/filters.js:397
msgid "true"
msgstr ""
-#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/bom.js:289 templates/js/filters.js:171
#: templates/js/filters.js:398
msgid "false"
msgstr ""
-#: templates/js/bom.js:290 templates/js/bom.js:376
+#: templates/js/bom.js:306 templates/js/bom.js:392
msgid "View BOM"
msgstr ""
-#: templates/js/bom.js:350
+#: templates/js/bom.js:366
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/bom.js:352
+#: templates/js/bom.js:368
msgid "This line has been validated"
msgstr ""
-#: templates/js/bom.js:354
+#: templates/js/bom.js:370
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/bom.js:356
+#: templates/js/bom.js:372
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+#: templates/js/bom.js:463 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr ""
@@ -6485,7 +6574,7 @@ msgstr ""
#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
#: templates/js/stock.js:511 templates/js/stock.js:938
-#: templates/js/stock.js:1453
+#: templates/js/stock.js:1458
msgid "Select"
msgstr ""
@@ -6748,6 +6837,10 @@ msgstr ""
msgid "This test is defined for a parent part"
msgstr ""
+#: templates/js/part.js:727
+msgid "Single Price Difference"
+msgstr ""
+
#: templates/js/report.js:47
msgid "items selected"
msgstr ""
@@ -6942,55 +7035,55 @@ msgstr ""
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1036
+#: templates/js/stock.js:1041
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1055
+#: templates/js/stock.js:1060
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1074
+#: templates/js/stock.js:1079
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1097
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1115
+#: templates/js/stock.js:1120
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1123
+#: templates/js/stock.js:1128
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1155
+#: templates/js/stock.js:1160
msgid "No user information"
msgstr ""
-#: templates/js/stock.js:1167
+#: templates/js/stock.js:1172
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1168
+#: templates/js/stock.js:1173
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1292
+#: templates/js/stock.js:1297
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1391
+#: templates/js/stock.js:1396
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1484 templates/js/table_filters.js:172
+#: templates/js/stock.js:1489 templates/js/table_filters.js:172
msgid "Installed"
msgstr ""
-#: templates/js/stock.js:1509
+#: templates/js/stock.js:1514
msgid "Install item"
msgstr ""
@@ -7472,4 +7565,3 @@ msgstr ""
#: users/models.py:187
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 c9c9975b16..9f34636319 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: 2021-05-17 10:46+0000\n"
-"PO-Revision-Date: 2021-05-17 10:47\n"
+"POT-Creation-Date: 2021-05-29 07:28+0000\n"
+"PO-Revision-Date: 2021-05-28 04:02\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -33,42 +33,42 @@ msgstr "Nie znaleziono pasującej akcji"
msgid "Enter date"
msgstr "Wprowadź dane"
-#: InvenTree/forms.py:110 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "Potwierdź"
-#: InvenTree/forms.py:126
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr "Potwierdź usunięcie"
-#: InvenTree/forms.py:127
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr "Potwierdź usuwanie elementu"
-#: InvenTree/forms.py:159 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr "Wprowadź hasło"
-#: InvenTree/forms.py:160
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr "Wprowadź nowe hasło"
-#: InvenTree/forms.py:167
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "Potwierdź hasło"
-#: InvenTree/forms.py:168
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "Potwierdź nowe hasło"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr "Zastosuj motyw"
-#: InvenTree/forms.py:233
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr "Wybierz kategorię"
@@ -122,9 +122,9 @@ msgstr "Komentarz"
msgid "File comment"
msgstr "Komentarz pliku"
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1946
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1146
+#: templates/js/stock.js:1151
msgid "User"
msgstr "Użytkownik"
@@ -133,7 +133,7 @@ msgid "upload date"
msgstr "data przesłania"
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:102
-#: part/models.py:686 part/models.py:2087 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/part.js:110
#: templates/js/part.js:553 templates/js/stock.js:944
@@ -171,23 +171,23 @@ msgstr "Opis (opcjonalny)"
msgid "parent"
msgstr "nadrzędny"
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr "Angielski"
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr "Francuski"
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr "Niemiecki"
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr "Polski"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr "Turecki"
@@ -232,7 +232,7 @@ msgid "Returned"
msgstr "Zwrócone"
#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:124
+#: order/templates/order/sales_order_base.html:126
msgid "Shipped"
msgstr "Wysłane"
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:587
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr "Usuń element"
-#: InvenTree/views.py:636
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr "Zaznacz pole aby potwierdzić usunięcie elementu"
-#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr "Edytuj informacje użytkownika"
-#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr "Ustaw hasło"
-#: InvenTree/views.py:681
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr "Hasła muszą być zgodne"
-#: InvenTree/views.py:887 templates/navbar.html:95
+#: InvenTree/views.py:937 templates/navbar.html:95
msgid "System Information"
msgstr "Informacja systemowa"
@@ -444,10 +444,10 @@ msgstr "Numer Zlecenia Budowy"
msgid "Order target date"
msgstr ""
-#: build/forms.py:42 build/templates/build/build_base.html:136
+#: build/forms.py:42 build/templates/build/build_base.html:146
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:117
+#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
@@ -461,8 +461,8 @@ msgstr ""
#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1245
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:123
-#: build/templates/build/detail.html:31 common/models.py:705
+#: build/templates/build/build_base.html:133
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -473,20 +473,22 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:162
#: order/templates/order/sales_order_detail.html:230 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2216
+#: part/forms.py:371 part/forms.py:387 part/models.py:2269
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
-#: part/templates/part/part_pricing.html:13
+#: part/templates/part/order_prices.html:175
+#: part/templates/part/part_pricing.html:12
#: part/templates/part/sale_prices.html:85
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
#: stock/forms.py:175 stock/forms.py:308
-#: stock/templates/stock/item_base.html:250
+#: stock/templates/stock/item_base.html:255
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
-#: templates/js/stock.js:1131 templates/js/stock.js:1393
+#: templates/js/part.js:717 templates/js/stock.js:1136
+#: templates/js/stock.js:1398
msgid "Quantity"
msgstr "Ilość"
@@ -528,11 +530,11 @@ msgstr "Oznacz budowę jako ukończoną"
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
-#: stock/templates/stock/item_base.html:280
+#: stock/templates/stock/item_base.html:285
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:490
-#: templates/js/stock.js:641 templates/js/stock.js:1023
+#: templates/js/stock.js:641 templates/js/stock.js:1028
msgid "Location"
msgstr "Lokalizacja"
@@ -540,14 +542,14 @@ msgstr "Lokalizacja"
msgid "Location of completed parts"
msgstr "Lokalizacja ukończonych części"
-#: build/forms.py:215 build/templates/build/build_base.html:128
+#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:59 order/models.py:466
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:398 templates/InvenTree/search.html:252
+#: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:770
#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1100
-#: templates/js/stock.js:1401
+#: templates/js/stock.js:628 templates/js/stock.js:1105
+#: templates/js/stock.js:1406
msgid "Status"
msgstr "Status"
@@ -580,7 +582,7 @@ msgid "Select quantity of stock to allocate"
msgstr ""
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:63
+#: build/templates/build/build_base.html:73
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -592,7 +594,7 @@ msgstr "Zlecenie Budowy"
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr "Zlecenia budowy"
@@ -602,7 +604,7 @@ msgstr "Odwołanie do zamówienia wykonania"
#: build/models.py:127 order/models.py:99 order/models.py:616
#: order/templates/order/purchase_order_detail.html:170
-#: order/templates/order/sales_order_detail.html:225 part/models.py:2225
+#: order/templates/order/sales_order_detail.html:225 part/models.py:2278
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
#: templates/js/build.js:565 templates/js/build.js:1008
@@ -613,7 +615,7 @@ msgstr "Referencja"
msgid "Brief description of the build"
msgstr "Krótki opis budowy"
-#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/models.py:146 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr "Budowa nadrzędna"
@@ -623,17 +625,17 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:128
#: build/templates/build/detail.html:26 company/models.py:622
#: order/models.py:658 order/models.py:691
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:131
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:213 part/models.py:321
-#: part/models.py:1914 part/models.py:1926 part/models.py:1944
-#: part/models.py:2019 part/models.py:2115 part/models.py:2200
+#: part/models.py:1967 part/models.py:1979 part/models.py:1997
+#: part/models.py:2072 part/models.py:2168 part/models.py:2253
#: part/templates/part/part_app_base.html:8
-#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29
+#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
@@ -643,7 +645,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
-#: templates/js/stock.js:1465
+#: templates/js/stock.js:1470
msgid "Part"
msgstr "Część"
@@ -691,7 +693,7 @@ msgstr "Ukończone elementy"
msgid "Number of stock items which have been completed"
msgstr "Ilość produktów magazynowych które zostały ukończone"
-#: build/models.py:204 part/templates/part/part_base.html:160
+#: build/models.py:204 part/templates/part/part_base.html:167
msgid "Build Status"
msgstr "Status budowania"
@@ -732,10 +734,10 @@ msgstr "Wydany przez"
msgid "User who issued this build order"
msgstr "Użytkownik, który wydał to zamówienie"
-#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/models.py:250 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: order/templates/order/sales_order_base.html:140 part/models.py:886
#: report/templates/report/inventree_build_order_base.html:159
msgid "Responsible"
msgstr "Odpowiedzialny"
@@ -749,8 +751,8 @@ msgstr "Użytkownik odpowiedzialny za to zamówienie budowy"
#: company/templates/company/manufacturer_part_detail.html:28
#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
-#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
-#: stock/models.py:458 stock/templates/stock/item_base.html:340
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:94
+#: stock/models.py:458 stock/templates/stock/item_base.html:345
msgid "External Link"
msgstr "Link Zewnętrzny"
@@ -768,12 +770,12 @@ msgstr "Link do zewnętrznego adresu URL"
#: order/templates/order/sales_order_detail.html:278
#: order/templates/order/so_navbar.html:33
#: order/templates/order/so_navbar.html:36 part/models.py:871
-#: part/templates/part/navbar.html:128
+#: part/templates/part/navbar.html:134
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+#: templates/js/bom.js:349 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
msgstr "Uwagi"
@@ -823,7 +825,7 @@ msgstr ""
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1224 stock/templates/stock/item_base.html:312
+#: build/models.py:1224 stock/templates/stock/item_base.html:317
#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
@@ -838,10 +840,10 @@ msgstr ""
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/item_base.html:334
+#: stock/templates/stock/item_base.html:31
+#: stock/templates/stock/item_base.html:339
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
-#: templates/js/stock.js:1082 templates/js/stock.js:1384
+#: templates/js/stock.js:1087 templates/js/stock.js:1389
msgid "Stock Item"
msgstr "Element magazynowy"
@@ -913,7 +915,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: order/templates/order/sales_order_detail.html:160
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:452 stock/templates/stock/item_base.html:244
+#: stock/models.py:452 stock/templates/stock/item_base.html:249
#: templates/js/build.js:474
msgid "Serial Number"
msgstr "Numer Seryjny"
@@ -921,8 +923,8 @@ msgstr "Numer Seryjny"
#: build/templates/build/attachments.html:12
#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
-#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
-#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:125
+#: part/templates/part/navbar.html:128 stock/templates/stock/navbar.html:47
#: stock/templates/stock/navbar.html:50
msgid "Attachments"
msgstr "Załączniki"
@@ -943,119 +945,119 @@ msgstr ""
msgid "Stock items will have to be manually allocated"
msgstr ""
-#: build/templates/build/build_base.html:16
+#: build/templates/build/build_base.html:18
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:22
+#: build/templates/build/build_base.html:25
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:31
+#: build/templates/build/build_base.html:32
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:36
+#: build/templates/build/build_base.html:37
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:41
+#: build/templates/build/build_base.html:42
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:46
+#: build/templates/build/build_base.html:47
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:75
#: company/templates/company/company_base.html:40
#: company/templates/company/manufacturer_part_base.html:25
#: company/templates/company/supplier_part_base.html:26
#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:124
+#: order/templates/order/sales_order_base.html:37
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:22
+#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
msgstr "Widok administratora"
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:81
+#: build/templates/build/build_base.html:150
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:41
-#: order/templates/order/sales_order_base.html:86
+#: order/templates/order/sales_order_base.html:43
+#: order/templates/order/sales_order_base.html:88
#: templates/js/table_filters.js:241 templates/js/table_filters.js:260
#: templates/js/table_filters.js:277
msgid "Overdue"
msgstr "Zaległe"
-#: build/templates/build/build_base.html:80
+#: build/templates/build/build_base.html:90
msgid "Print actions"
msgstr "Akcje druku"
-#: build/templates/build/build_base.html:84
+#: build/templates/build/build_base.html:94
msgid "Print Build Order"
msgstr "Wydrukuj Numer Zlecenia Budowy"
-#: build/templates/build/build_base.html:90
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:100
+#: build/templates/build/build_base.html:225
msgid "Complete Build"
msgstr ""
-#: build/templates/build/build_base.html:95
+#: build/templates/build/build_base.html:105
msgid "Build actions"
msgstr ""
-#: build/templates/build/build_base.html:99
+#: build/templates/build/build_base.html:109
msgid "Edit Build"
msgstr "Edytuj Budowę"
-#: build/templates/build/build_base.html:101
-#: build/templates/build/build_base.html:199 build/views.py:57
+#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:209 build/views.py:57
msgid "Cancel Build"
msgstr "Anuluj Budowę"
-#: build/templates/build/build_base.html:114
+#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr "Szczegóły budowy"
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:150
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:147
+#: build/templates/build/build_base.html:157
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr "Postęp"
-#: build/templates/build/build_base.html:160
+#: build/templates/build/build_base.html:170
#: build/templates/build/detail.html:84 order/models.py:689
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_base.html:35
#: order/templates/order/sales_order_ship.html:25
#: part/templates/part/allocation.html:30
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:274 templates/js/order.js:245
+#: stock/templates/stock/item_base.html:279 templates/js/order.js:245
msgid "Sales Order"
msgstr "Zamówienie zakupu"
-#: build/templates/build/build_base.html:167
+#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr "Dodane przez"
-#: build/templates/build/build_base.html:207
+#: build/templates/build/build_base.html:217
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:208
+#: build/templates/build/build_base.html:218
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1191,15 +1193,15 @@ msgid "Destination location not specified"
msgstr "Nie określono lokalizacji docelowej"
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:298 templates/js/stock.js:636
-#: templates/js/stock.js:1408 templates/js/table_filters.js:108
+#: stock/templates/stock/item_base.html:303 templates/js/stock.js:636
+#: templates/js/stock.js:1413 templates/js/table_filters.js:108
#: templates/js/table_filters.js:202
msgid "Batch"
msgstr "Partia"
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+#: order/templates/order/sales_order_base.html:113 templates/js/build.js:778
msgid "Created"
msgstr "Utworzony"
@@ -1282,8 +1284,8 @@ msgstr "Edytuj uwagi"
#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
#: order/templates/order/order_notes.html:27
#: order/templates/order/sales_order_notes.html:29
-#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:477
-#: stock/templates/stock/item_base.html:487
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:482
+#: stock/templates/stock/item_base.html:492
#: stock/templates/stock/item_notes.html:26
msgid "Save"
msgstr "Zapisz"
@@ -1429,7 +1431,7 @@ msgstr ""
msgid "Add Build Order Attachment"
msgstr ""
-#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:172
+#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:173
#: stock/views.py:277
msgid "Added attachment"
msgstr "Dodano załącznik"
@@ -1466,368 +1468,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:38 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:39
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:55
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr "Nazwa instancji InvenTree"
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr "Nazwa firmy"
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr "Bazowy URL"
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr "Bazowy adres URL dla instancji serwera"
-#: common/models.py:84
-msgid "Default Currency"
-msgstr "Domyślna waluta"
-
#: common/models.py:85
-msgid "Default currency"
-msgstr "Domyślna waluta"
-
-#: common/models.py:91
msgid "Download from URL"
msgstr "Pobierz z adresu URL"
-#: common/models.py:92
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL"
-#: common/models.py:98
+#: common/models.py:92
msgid "Barcode Support"
msgstr "Obsługa kodu kreskowego"
-#: common/models.py:99
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr "Włącz obsługę skanera kodów"
-#: common/models.py:105
+#: common/models.py:99
msgid "IPN Regex"
msgstr "Wyrażenie regularne IPN"
-#: common/models.py:106
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:110
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr "Zezwól na powtarzający się IPN"
-#: common/models.py:111
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr "Zezwól na edycję IPN"
-#: common/models.py:118
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:124
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr "Skopiuj BOM komponentu"
-#: common/models.py:125
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:146
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:153
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:159 part/models.py:2117 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr "Szablon"
-#: common/models.py:160
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:166 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr "Złożenie"
-#: common/models.py:167
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:173 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr "Komponent"
-#: common/models.py:174
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:180 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr "Możliwość zakupu"
-#: common/models.py:181
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
-#: common/models.py:187 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr "Możliwość sprzedaży"
-#: common/models.py:188
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr "Części są domyślnie z możliwością sprzedaży"
-#: common/models.py:194 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr "Możliwość śledzenia"
-#: common/models.py:195
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr "Części są domyślnie z możliwością śledzenia"
-#: common/models.py:201 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr "Wirtualny"
-#: common/models.py:202
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr "Części są domyślnie wirtualne"
-#: common/models.py:208
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:209
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:215 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr "Tryb Debugowania"
-#: common/models.py:216
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:222
+#: common/models.py:216
msgid "Page Size"
msgstr "Rozmiar strony"
-#: common/models.py:223
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:233
+#: common/models.py:227
msgid "Test Reports"
msgstr "Raporty testów"
-#: common/models.py:234
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr "Włącz generowanie raportów testów"
-#: common/models.py:240
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:241
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:247
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:248
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:254
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:255
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:257 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr "dni"
-#: common/models.py:262
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:263
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:269
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:270
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:276
+#: common/models.py:270
msgid "Group by Part"
msgstr "Grupuj według komponentu"
-#: common/models.py:277
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:283
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:284
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:290
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:291
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:296
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:297
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:301
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:302
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:307
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:308
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:531
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:533
+#: common/models.py:527
msgid "Settings value"
msgstr "Ustawienia wartości"
-#: common/models.py:568
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:591
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:602
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:625
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:706 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:714 company/templates/company/supplier_part_pricing.html:82
-#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:271
msgid "Price"
msgstr "Cena"
-#: common/models.py:715
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:804
+#: common/models.py:798
msgid "Default"
msgstr "Domyślny"
@@ -1882,7 +1876,7 @@ msgstr "URL"
msgid "Image URL"
msgstr "URL zdjęcia"
-#: company/forms.py:118
+#: company/forms.py:118 templates/js/part.js:708
msgid "Single Price"
msgstr "Cena jednostkowa"
@@ -1998,7 +1992,7 @@ msgid "Does this company manufacture parts?"
msgstr "Czy to przedsiębiorstwo produkuje części?"
#: company/models.py:305 company/models.py:456 stock/models.py:405
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:235
msgid "Base Part"
msgstr "Część bazowa"
@@ -2011,7 +2005,7 @@ msgstr "Wybierz część"
#: company/templates/company/manufacturer_part_detail.html:25
#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:347
+#: part/bom.py:241 stock/templates/stock/item_base.html:352
#: templates/js/company.js:44 templates/js/company.js:165
#: templates/js/company.js:289
msgid "Manufacturer"
@@ -2030,7 +2024,7 @@ msgstr ""
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:359
+#: part/bom.py:286 stock/templates/stock/item_base.html:364
#: templates/js/company.js:48 templates/js/company.js:263
#: templates/js/order.js:170
msgid "Supplier"
@@ -2054,7 +2048,7 @@ msgstr ""
#: company/models.py:479
#: company/templates/company/manufacturer_part_base.html:6
#: company/templates/company/manufacturer_part_base.html:19
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:357
msgid "Manufacturer Part"
msgstr "Część producenta"
@@ -2071,7 +2065,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:497 company/templates/company/supplier_part_base.html:116
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2228
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2281
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -2086,7 +2080,7 @@ msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:503 company/templates/company/supplier_part_base.html:109
-#: stock/models.py:429 stock/templates/stock/item_base.html:305
+#: stock/models.py:429 stock/templates/stock/item_base.html:310
#: templates/js/stock.js:667
msgid "Packaging"
msgstr "Opakowanie"
@@ -2154,7 +2148,8 @@ msgstr ""
#: company/templates/company/delete.html:12
#, python-format
-msgid "There are %(count)s parts sourced from this company.
\n"
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
"If this supplier is deleted, these supplier part entries will also be deleted."
msgstr ""
@@ -2171,10 +2166,10 @@ msgid "Uses default currency"
msgstr ""
#: company/templates/company/detail.html:67 order/models.py:461
-#: order/templates/order/sales_order_base.html:92 stock/models.py:447
-#: stock/models.py:448 stock/templates/stock/item_base.html:257
+#: order/templates/order/sales_order_base.html:94 stock/models.py:447
+#: stock/models.py:448 stock/templates/stock/item_base.html:262
#: templates/js/company.js:40 templates/js/order.js:267
-#: templates/js/stock.js:1064
+#: templates/js/stock.js:1069
msgid "Customer"
msgstr "Klient"
@@ -2220,7 +2215,7 @@ msgstr "Usuń części"
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1279
+#: templates/js/stock.js:1284
msgid "New Part"
msgstr "Nowy komponent"
@@ -2267,7 +2262,7 @@ msgstr "Utwórz nowego dostawcę części"
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:49
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1285
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1290
msgid "New Supplier Part"
msgstr "Now dostawca części"
@@ -2290,7 +2285,7 @@ msgstr "Lista dostawców"
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
msgid "Order part"
msgstr "Zamów część"
@@ -2324,8 +2319,8 @@ msgid "There are %(count)s suppliers defined for this manufacturer part. If you
msgstr ""
#: company/templates/company/manufacturer_part_navbar.html:14
-#: company/views.py:63 part/templates/part/navbar.html:78
-#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: company/views.py:63 part/templates/part/navbar.html:84
+#: part/templates/part/navbar.html:87 templates/InvenTree/search.html:316
#: templates/navbar.html:35
msgid "Suppliers"
msgstr "Dostawcy"
@@ -2342,7 +2337,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr "Stan"
@@ -2400,10 +2395,10 @@ msgstr ""
#: company/templates/company/sales_orders.html:11
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
-#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/navbar.html:104 part/templates/part/navbar.html:107
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2412,10 +2407,10 @@ msgstr ""
#: company/templates/company/purchase_orders.html:10
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/navbar.html:90 part/templates/part/navbar.html:93
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -2446,7 +2441,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:414
-#: stock/templates/stock/item_base.html:364 templates/js/company.js:279
+#: stock/templates/stock/item_base.html:369 templates/js/company.js:279
msgid "Supplier Part"
msgstr ""
@@ -2495,7 +2490,7 @@ msgid "Pricing Information"
msgstr "Informacja cenowa"
#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
-#: part/templates/part/sale_prices.html:17 part/views.py:2644
+#: part/templates/part/sale_prices.html:17 part/views.py:2733
msgid "Add Price Break"
msgstr ""
@@ -2514,8 +2509,8 @@ msgstr "Edytuj przedział cenowy"
msgid "Delete price break"
msgstr ""
-#: company/views.py:70 part/templates/part/navbar.html:72
-#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: company/views.py:70 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:306
#: templates/navbar.html:36
msgid "Manufacturers"
msgstr "Producenci"
@@ -2537,20 +2532,20 @@ msgstr "Firmy"
msgid "New Company"
msgstr "Nowa firma"
-#: company/views.py:169 part/views.py:848
+#: company/views.py:169 part/views.py:937
msgid "Download Image"
msgstr "Pobierz obraz"
-#: company/views.py:198 part/views.py:880
+#: company/views.py:198 part/views.py:969
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:205 part/views.py:887
+#: company/views.py:205 part/views.py:976
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:214 part/views.py:896
+#: company/views.py:214 part/views.py:985
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2602,7 +2597,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:578 templates/js/stock.js:1286
+#: company/views.py:578 templates/js/stock.js:1291
msgid "Create new Supplier Part"
msgstr ""
@@ -2610,15 +2605,15 @@ msgstr ""
msgid "Delete Supplier Part"
msgstr ""
-#: company/views.py:799 part/views.py:2648
+#: company/views.py:799 part/views.py:2737
msgid "Added new price break"
msgstr ""
-#: company/views.py:855 part/views.py:2692
+#: company/views.py:855 part/views.py:2781
msgid "Edit Price Break"
msgstr "Edytuj przedział cenowy"
-#: company/views.py:870 part/views.py:2706
+#: company/views.py:870 part/views.py:2795
msgid "Delete Price Break"
msgstr ""
@@ -2692,11 +2687,11 @@ msgid "Mark order as complete"
msgstr "Oznacz zamówienie jako zakończone"
#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
-#: order/templates/order/sales_order_base.html:59
+#: order/templates/order/sales_order_base.html:61
msgid "Cancel order"
msgstr "Anuluj zamówienie"
-#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+#: order/forms.py:71 order/templates/order/sales_order_base.html:58
msgid "Ship order"
msgstr "Wyślij zamówienie"
@@ -2793,7 +2788,7 @@ msgstr ""
msgid "Date order was completed"
msgstr ""
-#: order/models.py:243 part/views.py:1586 stock/models.py:302
+#: order/models.py:243 part/views.py:1675 stock/models.py:302
#: stock/models.py:1018
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2859,8 +2854,8 @@ msgstr "Zamówienie"
#: order/models.py:645 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:319 templates/js/order.js:148
-#: templates/js/stock.js:1045
+#: stock/templates/stock/item_base.html:324 templates/js/order.js:148
+#: templates/js/stock.js:1050
msgid "Purchase Order"
msgstr ""
@@ -2871,7 +2866,7 @@ msgstr ""
#: order/models.py:662 order/templates/order/order_base.html:131
#: order/templates/order/purchase_order_detail.html:189
#: order/templates/order/receive_parts.html:22
-#: order/templates/order/sales_order_base.html:131
+#: order/templates/order/sales_order_base.html:133
msgid "Received"
msgstr "Odebrane"
@@ -2880,7 +2875,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:669 stock/models.py:540
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:331
msgid "Purchase Price"
msgstr "Cena zakupu"
@@ -2888,8 +2883,9 @@ msgstr "Cena zakupu"
msgid "Unit purchase price"
msgstr "Cena zakupu jednostkowego"
-#: order/models.py:698 part/templates/part/navbar.html:95
-#: part/templates/part/part_pricing.html:78
+#: order/models.py:698 part/templates/part/navbar.html:101
+#: part/templates/part/order_prices.html:82
+#: part/templates/part/part_pricing.html:77
msgid "Sale Price"
msgstr "Cena sprzedaży"
@@ -2940,12 +2936,12 @@ msgid "Are you sure you want to delete this attachment?"
msgstr ""
#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:48
+#: order/templates/order/sales_order_base.html:50
msgid "Print"
msgstr ""
#: order/templates/order/order_base.html:43
-#: order/templates/order/sales_order_base.html:52
+#: order/templates/order/sales_order_base.html:54
msgid "Edit order information"
msgstr ""
@@ -2963,12 +2959,12 @@ msgid "Purchase Order Details"
msgstr ""
#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:77
+#: order/templates/order/sales_order_base.html:79
msgid "Order Reference"
msgstr ""
#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:82
+#: order/templates/order/sales_order_base.html:84
msgid "Order Status"
msgstr "Status zamówienia"
@@ -2981,7 +2977,7 @@ msgstr "Wydany"
#: order/templates/order/purchase_order_detail.html:100
#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1291
+#: templates/js/stock.js:1296
msgid "New Location"
msgstr "Nowa lokalizacja"
@@ -3193,14 +3189,14 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: order/templates/order/receive_parts.html:14 part/api.py:45
#: part/models.py:322 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:99
#: part/templates/part/category_navbar.html:22
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -3215,7 +3211,7 @@ msgid "Order Code"
msgstr "Kod zamówienia"
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:414
+#: part/templates/part/part_base.html:136 templates/js/part.js:414
msgid "On Order"
msgstr ""
@@ -3231,20 +3227,20 @@ msgstr ""
msgid "Remove line"
msgstr "Usuń linie"
-#: order/templates/order/sales_order_base.html:15
-msgid "This SalesOrder has not been fully allocated"
+#: order/templates/order/sales_order_base.html:16
+msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:64
+#: order/templates/order/sales_order_base.html:66
msgid "Packing List"
msgstr ""
-#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/sales_order_base.html:74
#: order/templates/order/so_navbar.html:12
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275
msgid "Customer Reference"
msgstr ""
@@ -3263,7 +3259,7 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:342
+#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358
#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr "Akcje"
@@ -3558,7 +3554,7 @@ msgstr ""
msgid "Default Location"
msgstr "Domyślna lokalizacja"
-#: part/bom.py:139 part/templates/part/part_base.html:117
+#: part/bom.py:139 part/templates/part/part_base.html:124
msgid "Available Stock"
msgstr "Dostępna ilość"
@@ -3631,7 +3627,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:122 part/models.py:2115
+#: part/forms.py:122 part/models.py:2168
msgid "Parent Part"
msgstr "Część nadrzędna"
@@ -3707,7 +3703,7 @@ msgstr ""
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:344 part/models.py:2209
+#: part/forms.py:344 part/models.py:2262
msgid "Sub part"
msgstr "Podczęść"
@@ -3727,7 +3723,7 @@ msgstr "Domyślne słowa kluczowe"
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:82 part/models.py:2161
+#: part/models.py:82 part/models.py:2214
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -3797,7 +3793,7 @@ msgstr "Słowa kluczowe"
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:724 part/models.py:2160 part/templates/part/detail.html:73
+#: part/models.py:724 part/models.py:2213 part/templates/part/detail.html:73
#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr "Kategoria"
@@ -3807,7 +3803,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:161
+#: part/templates/part/part_base.html:87 templates/js/part.js:161
msgid "IPN"
msgstr "IPN"
@@ -3852,7 +3848,7 @@ msgstr "Minimalny stan magazynowy"
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:828 part/models.py:2089 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2142 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr "Jednostki"
@@ -3923,167 +3919,167 @@ msgstr ""
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:1987
+#: part/models.py:2040
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2004
+#: part/models.py:2057
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2024 templates/js/part.js:638 templates/js/stock.js:104
+#: part/models.py:2077 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:2025
+#: part/models.py:2078
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2030
+#: part/models.py:2083
msgid "Test Description"
msgstr ""
-#: part/models.py:2031
+#: part/models.py:2084
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2036 templates/js/part.js:647
+#: part/models.py:2089 templates/js/part.js:647
#: templates/js/table_filters.js:223
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:2037
+#: part/models.py:2090
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2042 templates/js/part.js:655
+#: part/models.py:2095 templates/js/part.js:655
msgid "Requires Value"
msgstr ""
-#: part/models.py:2043
+#: part/models.py:2096
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2048 templates/js/part.js:662
+#: part/models.py:2101 templates/js/part.js:662
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2049
+#: part/models.py:2102
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2082
+#: part/models.py:2135
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2087
+#: part/models.py:2140
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2089
+#: part/models.py:2142
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2117 part/models.py:2166 part/models.py:2167
+#: part/models.py:2170 part/models.py:2219 part/models.py:2220
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Data"
msgstr "Dane"
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2171 templates/InvenTree/settings/category.html:67
+#: part/models.py:2224 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:2172
+#: part/models.py:2225
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2201
+#: part/models.py:2254
msgid "Select parent part"
msgstr ""
-#: part/models.py:2210
+#: part/models.py:2263
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2216
+#: part/models.py:2269
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2218 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2271 templates/js/bom.js:216 templates/js/bom.js:285
msgid "Optional"
msgstr ""
-#: part/models.py:2218
+#: part/models.py:2271
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2221
+#: part/models.py:2274
msgid "Overage"
msgstr ""
-#: part/models.py:2222
+#: part/models.py:2275
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2225
+#: part/models.py:2278
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2228
+#: part/models.py:2281
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:2230
+#: part/models.py:2283
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2234 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2287 templates/js/bom.js:295 templates/js/bom.js:302
#: templates/js/table_filters.js:51
msgid "Inherited"
msgstr ""
-#: part/models.py:2235
+#: part/models.py:2288
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2311 part/views.py:1592 part/views.py:1644
+#: part/models.py:2364 part/views.py:1681 part/views.py:1733
#: stock/models.py:292
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2320 part/models.py:2322
+#: part/models.py:2373 part/models.py:2375
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2325
+#: part/models.py:2378
msgid "BOM Item"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2495
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:2478
+#: part/models.py:2531
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4151,7 +4147,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:61 part/views.py:1887
+#: part/templates/part/bom.html:61 part/views.py:1976
msgid "Export Bill of Materials"
msgstr ""
@@ -4167,8 +4163,8 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1280
+#: part/templates/part/bom.html:160 part/views.py:585
+#: templates/js/stock.js:1285
msgid "Create New Part"
msgstr ""
@@ -4249,7 +4245,7 @@ msgstr ""
msgid "All parts"
msgstr "Wszystkie części"
-#: part/templates/part/category.html:29 part/views.py:2290
+#: part/templates/part/category.html:29 part/views.py:2379
msgid "Create new part category"
msgstr "Stwórz nową kategorię komponentów"
@@ -4367,7 +4363,7 @@ msgstr "Parametry"
msgid "Part Parameters"
msgstr "Parametry części"
-#: part/templates/part/copy_part.html:9 part/views.py:460
+#: part/templates/part/copy_part.html:9 part/views.py:461
msgid "Duplicate Part"
msgstr "Duplikuj część"
@@ -4504,27 +4500,122 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/templates/part/navbar.html:92
+#: part/templates/part/navbar.html:72 part/templates/part/order_prices.html:12
+#, fuzzy
+#| msgid "Pricing Information"
+msgid "Order Price Information"
+msgstr "Informacja cenowa"
+
+#: part/templates/part/navbar.html:75
+#, fuzzy
+#| msgid "Order Parts"
+msgid "Order Price"
+msgstr "Zamów części"
+
+#: part/templates/part/navbar.html:98
msgid "Sales Price Information"
msgstr ""
-#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+#: part/templates/part/navbar.html:112 part/templates/part/part_tests.html:10
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:404
+#: part/templates/part/navbar.html:115 stock/templates/stock/item_base.html:409
msgid "Tests"
msgstr ""
-#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/navbar.html:119 part/templates/part/navbar.html:122
#: part/templates/part/related.html:10
msgid "Related Parts"
msgstr ""
-#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+#: part/templates/part/navbar.html:131 part/templates/part/notes.html:12
msgid "Part Notes"
msgstr ""
+#: part/templates/part/order_prices.html:21
+#, fuzzy
+#| msgid "Pricing Information"
+msgid "Pricing ranges"
+msgstr "Informacja cenowa"
+
+#: part/templates/part/order_prices.html:26
+#: part/templates/part/part_pricing.html:18
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:27
+#: part/templates/part/order_prices.html:52
+#: part/templates/part/order_prices.html:83
+#: part/templates/part/part_pricing.html:22
+#: part/templates/part/part_pricing.html:48
+#: part/templates/part/part_pricing.html:80
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:34
+#: part/templates/part/order_prices.html:59
+#: part/templates/part/order_prices.html:88
+#: part/templates/part/part_pricing.html:28
+#: part/templates/part/part_pricing.html:54
+#: part/templates/part/part_pricing.html:84
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:42
+#: part/templates/part/part_pricing.html:36
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:51
+#: part/templates/part/order_prices.html:103
+#: part/templates/part/part_pricing.html:44
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:67
+#: part/templates/part/part_pricing.html:62
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/order_prices.html:74
+#: part/templates/part/part_pricing.html:69
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:97
+#: part/templates/part/part_pricing.html:93
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:113
+#, fuzzy
+#| msgid "Pricing"
+msgid "Stock Pricing"
+msgstr "Cennik"
+
+#: part/templates/part/order_prices.html:121
+#, fuzzy
+#| msgid "No stock available for %(part)s"
+msgid "No stock pricing history is available for this part."
+msgstr "Brak zapasów dla %(part)s"
+
+#: part/templates/part/order_prices.html:140
+#, fuzzy, python-format
+#| msgid "Single Price"
+msgid "Single Price - %(currency)s"
+msgstr "Cena jednostkowa"
+
+#: part/templates/part/order_prices.html:152
+#, python-format
+msgid "Single Price Difference - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:163
+#, python-format
+msgid "Part Single Price - %(currency)s"
+msgstr ""
+
#: part/templates/part/params.html:17
msgid "Add new parameter"
msgstr ""
@@ -4558,126 +4649,94 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:18
-#, python-format
-msgid "This part is a variant of %(link)s"
-msgstr ""
-
-#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: part/templates/part/part_base.html:26 templates/js/company.js:156
#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr ""
-#: part/templates/part/part_base.html:40
+#: part/templates/part/part_base.html:33
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:47
-#: stock/templates/stock/item_base.html:137
+#: part/templates/part/part_base.html:40
+#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:49
-#: stock/templates/stock/item_base.html:139
+#: part/templates/part/part_base.html:42
+#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:50
-#: stock/templates/stock/item_base.html:155
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:55
+#: part/templates/part/part_base.html:48
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:59
+#: part/templates/part/part_base.html:52
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:74
+#: part/templates/part/part_base.html:67
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:77
+#: part/templates/part/part_base.html:70
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:80
+#: part/templates/part/part_base.html:73
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:83
+#: part/templates/part/part_base.html:76
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:157
+#: part/templates/part/part_base.html:107
+msgid "This is a virtual part"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:130 templates/js/table_filters.js:157
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:143
+#: part/templates/part/part_base.html:150
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:157
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+#: part/templates/part/part_base.html:172 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:171 templates/js/part.js:418
+#: part/templates/part/part_base.html:178 templates/js/part.js:418
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:250
+#: part/templates/part/part_base.html:257
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_pricing.html:19
-msgid "Supplier Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:23
-#: part/templates/part/part_pricing.html:49
-#: part/templates/part/part_pricing.html:81
-msgid "Unit Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:29
-#: part/templates/part/part_pricing.html:55
-#: part/templates/part/part_pricing.html:85
-msgid "Total Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:37
-msgid "No supplier pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:45
-msgid "BOM Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:63
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:70
-msgid "No BOM pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:94
-msgid "No pricing information is available for this part."
-msgstr ""
-
#: part/templates/part/part_tests.html:17
msgid "Add Test Template"
msgstr ""
@@ -4787,212 +4846,212 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:89
+#: part/views.py:90
msgid "Add Related Part"
msgstr ""
-#: part/views.py:144
+#: part/views.py:145
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:158
+#: part/views.py:159
msgid "Add part attachment"
msgstr ""
-#: part/views.py:211 templates/attachment_table.html:32
+#: part/views.py:212 templates/attachment_table.html:32
msgid "Edit attachment"
msgstr ""
-#: part/views.py:215
+#: part/views.py:216
msgid "Part attachment updated"
msgstr ""
-#: part/views.py:230
+#: part/views.py:231
msgid "Delete Part Attachment"
msgstr ""
-#: part/views.py:238
+#: part/views.py:239
msgid "Deleted part attachment"
msgstr ""
-#: part/views.py:247
+#: part/views.py:248
msgid "Create Test Template"
msgstr ""
-#: part/views.py:274
+#: part/views.py:275
msgid "Edit Test Template"
msgstr ""
-#: part/views.py:288
+#: part/views.py:289
msgid "Delete Test Template"
msgstr ""
-#: part/views.py:295
+#: part/views.py:296
msgid "Set Part Category"
msgstr ""
-#: part/views.py:345
+#: part/views.py:346
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:380
+#: part/views.py:381
msgid "Create Variant"
msgstr ""
-#: part/views.py:465
+#: part/views.py:466
msgid "Copied part"
msgstr ""
-#: part/views.py:519 part/views.py:657
+#: part/views.py:520 part/views.py:658
msgid "Possible matches exist - confirm creation of new part"
msgstr ""
-#: part/views.py:589
+#: part/views.py:590
msgid "Created new part"
msgstr ""
-#: part/views.py:825
+#: part/views.py:914
msgid "Part QR Code"
msgstr ""
-#: part/views.py:927
+#: part/views.py:1016
msgid "Upload Part Image"
msgstr ""
-#: part/views.py:933 part/views.py:968
+#: part/views.py:1022 part/views.py:1057
msgid "Updated part image"
msgstr ""
-#: part/views.py:942
+#: part/views.py:1031
msgid "Select Part Image"
msgstr ""
-#: part/views.py:971
+#: part/views.py:1060
msgid "Part image not found"
msgstr ""
-#: part/views.py:982
+#: part/views.py:1071
msgid "Edit Part Properties"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1106
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1047
+#: part/views.py:1136
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1068
+#: part/views.py:1157
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1089
+#: part/views.py:1178
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1100
+#: part/views.py:1189
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1234
+#: part/views.py:1323
msgid "No BOM file provided"
msgstr ""
-#: part/views.py:1595
+#: part/views.py:1684
msgid "Enter a valid quantity"
msgstr ""
-#: part/views.py:1620 part/views.py:1623
+#: part/views.py:1709 part/views.py:1712
msgid "Select valid part"
msgstr ""
-#: part/views.py:1629
+#: part/views.py:1718
msgid "Duplicate part selected"
msgstr ""
-#: part/views.py:1667
+#: part/views.py:1756
msgid "Select a part"
msgstr ""
-#: part/views.py:1673
+#: part/views.py:1762
msgid "Selected part creates a circular BOM"
msgstr ""
-#: part/views.py:1677
+#: part/views.py:1766
msgid "Specify quantity"
msgstr ""
-#: part/views.py:1939
+#: part/views.py:2028
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1946
+#: part/views.py:2035
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1955
+#: part/views.py:2044
msgid "Part Pricing"
msgstr ""
-#: part/views.py:2089
+#: part/views.py:2178
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:2099
+#: part/views.py:2188
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:2106
+#: part/views.py:2195
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:2114
+#: part/views.py:2203
msgid "Create Part Parameter"
msgstr ""
-#: part/views.py:2164
+#: part/views.py:2253
msgid "Edit Part Parameter"
msgstr ""
-#: part/views.py:2178
+#: part/views.py:2267
msgid "Delete Part Parameter"
msgstr ""
-#: part/views.py:2238
+#: part/views.py:2327
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:2276
+#: part/views.py:2365
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:2282
+#: part/views.py:2371
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:2334
+#: part/views.py:2423
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2435
+#: part/views.py:2524
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2491
+#: part/views.py:2580
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2510
+#: part/views.py:2599
msgid "Create BOM Item"
msgstr ""
-#: part/views.py:2580
+#: part/views.py:2669
msgid "Edit BOM item"
msgstr ""
-#: part/views.py:2636
+#: part/views.py:2725
msgid "Confim BOM item deletion"
msgstr ""
@@ -5127,7 +5186,7 @@ msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507
-#: stock/templates/stock/item_base.html:371 templates/js/stock.js:656
+#: stock/templates/stock/item_base.html:376 templates/js/stock.js:656
msgid "Expiry Date"
msgstr ""
@@ -5277,7 +5336,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:435 stock/templates/stock/item_base.html:265
+#: stock/models.py:435 stock/templates/stock/item_base.html:270
msgid "Installed In"
msgstr ""
@@ -5412,173 +5471,173 @@ msgstr ""
msgid "Stock Item Attachments"
msgstr ""
-#: stock/templates/stock/item_base.html:24
-msgid "You are not in the list of owners of this item. This stock item cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:31
-msgid "This stock item is in production and cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:32
-msgid "Edit the stock item from the build view."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:45
-msgid "This stock item has not passed all required tests"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:53
-#, python-format
-msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:61
-#, python-format
-msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:67
-msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:71
-msgid "This stock item cannot be deleted as it has child items"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:75
-msgid "This stock item will be automatically deleted when all stock is depleted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:375 templates/js/table_filters.js:146
+#: stock/templates/stock/item_base.html:33
+#: stock/templates/stock/item_base.html:380 templates/js/table_filters.js:146
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:105
-#: stock/templates/stock/item_base.html:377 templates/js/table_filters.js:151
+#: stock/templates/stock/item_base.html:43
+#: stock/templates/stock/item_base.html:382 templates/js/table_filters.js:151
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:142 templates/js/barcode.js:309
+#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
#: templates/js/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:144
+#: stock/templates/stock/item_base.html:82
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:146 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:91
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:157
+#: stock/templates/stock/item_base.html:95
#: stock/templates/stock/item_tests.html:27
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item_base.html:166
+#: stock/templates/stock/item_base.html:104
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:170
+#: stock/templates/stock/item_base.html:108
#: stock/templates/stock/location.html:65 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:173 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:176 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:117
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:183
+#: stock/templates/stock/item_base.html:121
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:186
+#: stock/templates/stock/item_base.html:124
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:189
+#: stock/templates/stock/item_base.html:127
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:193 templates/js/stock.js:1421
+#: stock/templates/stock/item_base.html:131 templates/js/stock.js:1426
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:193
+#: stock/templates/stock/item_base.html:131
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:140
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: stock/templates/stock/item_base.html:205
+#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:146
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:148
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:213
+#: stock/templates/stock/item_base.html:151
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:225
+#: stock/templates/stock/item_base.html:171
+msgid "You are not in the list of owners of this item. This stock item cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:178
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:179
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:192
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:200
+#, python-format
+msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:208
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:214
+msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:218
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:222
+msgid "This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:230
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:284 templates/js/build.js:498
+#: stock/templates/stock/item_base.html:289 templates/js/build.js:498
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:291
+#: stock/templates/stock/item_base.html:296
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:333
+#: stock/templates/stock/item_base.html:338
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:380
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:377
+#: stock/templates/stock/item_base.html:382
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:384 templates/js/stock.js:662
+#: stock/templates/stock/item_base.html:389 templates/js/stock.js:662
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:389
+#: stock/templates/stock/item_base.html:394
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:398
msgid "No stocktake performed"
msgstr ""
@@ -6067,7 +6126,8 @@ msgstr ""
#: templates/InvenTree/settings/appearance.html:29
#, python-format
-msgid "\n"
+msgid ""
+"\n"
" The CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected color theme was not found.
\n"
" Please select another color theme :)\n"
" "
@@ -6107,11 +6167,35 @@ msgstr ""
msgid "Delete Template"
msgstr ""
+#: templates/InvenTree/settings/currencies.html:10
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
+msgstr ""
+
#: templates/InvenTree/settings/global.html:10
msgid "Global InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:27
+#: templates/InvenTree/settings/global.html:26
msgid "Barcode Settings"
msgstr ""
@@ -6190,10 +6274,14 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:25
msgid "Categories"
msgstr ""
@@ -6239,46 +6327,50 @@ msgid "Update Available"
msgstr ""
#: templates/about.html:34
+msgid "API Version"
+msgstr ""
+
+#: templates/about.html:39
msgid "Django Version"
msgstr ""
-#: templates/about.html:41
+#: templates/about.html:46
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:48
+#: templates/about.html:53
msgid "Commit Date"
msgstr ""
-#: templates/about.html:53
+#: templates/about.html:58
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:58
+#: templates/about.html:63
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:63
+#: templates/about.html:68
msgid "Credits"
msgstr ""
-#: templates/about.html:68
+#: templates/about.html:73
msgid "Mobile App"
msgstr ""
-#: templates/about.html:73
+#: templates/about.html:78
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:80 templates/clip.html:4
+#: templates/about.html:85 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:85
msgid "copy version information"
msgstr ""
-#: templates/about.html:90 templates/js/modals.js:568
+#: templates/about.html:95 templates/js/modals.js:568
#: templates/js/modals.js:846 templates/modals.html:29 templates/modals.html:54
#: templates/modals.html:97
msgid "Close"
@@ -6408,41 +6500,49 @@ msgstr ""
msgid "Open subassembly"
msgstr ""
-#: templates/js/bom.js:261
+#: templates/js/bom.js:249
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/bom.js:257
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/bom.js:277
msgid "No pricing available"
msgstr ""
-#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/bom.js:288 templates/js/filters.js:167
#: templates/js/filters.js:397
msgid "true"
msgstr ""
-#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/bom.js:289 templates/js/filters.js:171
#: templates/js/filters.js:398
msgid "false"
msgstr ""
-#: templates/js/bom.js:290 templates/js/bom.js:376
+#: templates/js/bom.js:306 templates/js/bom.js:392
msgid "View BOM"
msgstr ""
-#: templates/js/bom.js:350
+#: templates/js/bom.js:366
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/bom.js:352
+#: templates/js/bom.js:368
msgid "This line has been validated"
msgstr ""
-#: templates/js/bom.js:354
+#: templates/js/bom.js:370
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/bom.js:356
+#: templates/js/bom.js:372
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+#: templates/js/bom.js:463 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr ""
@@ -6485,7 +6585,7 @@ msgstr ""
#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
#: templates/js/stock.js:511 templates/js/stock.js:938
-#: templates/js/stock.js:1453
+#: templates/js/stock.js:1458
msgid "Select"
msgstr ""
@@ -6748,6 +6848,12 @@ msgstr ""
msgid "This test is defined for a parent part"
msgstr ""
+#: templates/js/part.js:727
+#, fuzzy
+#| msgid "Single Price"
+msgid "Single Price Difference"
+msgstr "Cena jednostkowa"
+
#: templates/js/report.js:47
msgid "items selected"
msgstr ""
@@ -6942,55 +7048,55 @@ msgstr ""
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1036
+#: templates/js/stock.js:1041
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1055
+#: templates/js/stock.js:1060
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1074
+#: templates/js/stock.js:1079
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1097
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1115
+#: templates/js/stock.js:1120
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1123
+#: templates/js/stock.js:1128
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1155
+#: templates/js/stock.js:1160
msgid "No user information"
msgstr ""
-#: templates/js/stock.js:1167
+#: templates/js/stock.js:1172
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1168
+#: templates/js/stock.js:1173
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1292
+#: templates/js/stock.js:1297
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1391
+#: templates/js/stock.js:1396
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1484 templates/js/table_filters.js:172
+#: templates/js/stock.js:1489 templates/js/table_filters.js:172
msgid "Installed"
msgstr ""
-#: templates/js/stock.js:1509
+#: templates/js/stock.js:1514
msgid "Install item"
msgstr ""
@@ -7472,4 +7578,3 @@ msgstr ""
#: users/models.py:187
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index df6f0336c7..963e03cbd8 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: 2021-05-17 10:46+0000\n"
-"PO-Revision-Date: 2021-05-17 10:47\n"
+"POT-Creation-Date: 2021-05-29 07:28+0000\n"
+"PO-Revision-Date: 2021-05-28 04:02\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -33,42 +33,42 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:110 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:126
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:127
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:159 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:160
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:167
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:168
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:233
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -122,9 +122,9 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1946
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1146
+#: templates/js/stock.js:1151
msgid "User"
msgstr ""
@@ -133,7 +133,7 @@ msgid "upload date"
msgstr ""
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:102
-#: part/models.py:686 part/models.py:2087 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/part.js:110
#: templates/js/part.js:553 templates/js/stock.js:944
@@ -171,23 +171,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -232,7 +232,7 @@ msgid "Returned"
msgstr ""
#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:124
+#: order/templates/order/sales_order_base.html:126
msgid "Shipped"
msgstr ""
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:587
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:636
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:681
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:887 templates/navbar.html:95
+#: InvenTree/views.py:937 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -444,10 +444,10 @@ msgstr ""
msgid "Order target date"
msgstr ""
-#: build/forms.py:42 build/templates/build/build_base.html:136
+#: build/forms.py:42 build/templates/build/build_base.html:146
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:117
+#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
@@ -461,8 +461,8 @@ msgstr ""
#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1245
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:123
-#: build/templates/build/detail.html:31 common/models.py:705
+#: build/templates/build/build_base.html:133
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -473,20 +473,22 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:162
#: order/templates/order/sales_order_detail.html:230 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2216
+#: part/forms.py:371 part/forms.py:387 part/models.py:2269
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
-#: part/templates/part/part_pricing.html:13
+#: part/templates/part/order_prices.html:175
+#: part/templates/part/part_pricing.html:12
#: part/templates/part/sale_prices.html:85
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
#: stock/forms.py:175 stock/forms.py:308
-#: stock/templates/stock/item_base.html:250
+#: stock/templates/stock/item_base.html:255
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
-#: templates/js/stock.js:1131 templates/js/stock.js:1393
+#: templates/js/part.js:717 templates/js/stock.js:1136
+#: templates/js/stock.js:1398
msgid "Quantity"
msgstr ""
@@ -528,11 +530,11 @@ msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
-#: stock/templates/stock/item_base.html:280
+#: stock/templates/stock/item_base.html:285
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:490
-#: templates/js/stock.js:641 templates/js/stock.js:1023
+#: templates/js/stock.js:641 templates/js/stock.js:1028
msgid "Location"
msgstr ""
@@ -540,14 +542,14 @@ msgstr ""
msgid "Location of completed parts"
msgstr ""
-#: build/forms.py:215 build/templates/build/build_base.html:128
+#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:59 order/models.py:466
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:398 templates/InvenTree/search.html:252
+#: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:770
#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1100
-#: templates/js/stock.js:1401
+#: templates/js/stock.js:628 templates/js/stock.js:1105
+#: templates/js/stock.js:1406
msgid "Status"
msgstr ""
@@ -580,7 +582,7 @@ msgid "Select quantity of stock to allocate"
msgstr ""
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:63
+#: build/templates/build/build_base.html:73
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -592,7 +594,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -602,7 +604,7 @@ msgstr ""
#: build/models.py:127 order/models.py:99 order/models.py:616
#: order/templates/order/purchase_order_detail.html:170
-#: order/templates/order/sales_order_detail.html:225 part/models.py:2225
+#: order/templates/order/sales_order_detail.html:225 part/models.py:2278
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
#: templates/js/build.js:565 templates/js/build.js:1008
@@ -613,7 +615,7 @@ msgstr ""
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/models.py:146 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr ""
@@ -623,17 +625,17 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:128
#: build/templates/build/detail.html:26 company/models.py:622
#: order/models.py:658 order/models.py:691
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:131
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:213 part/models.py:321
-#: part/models.py:1914 part/models.py:1926 part/models.py:1944
-#: part/models.py:2019 part/models.py:2115 part/models.py:2200
+#: part/models.py:1967 part/models.py:1979 part/models.py:1997
+#: part/models.py:2072 part/models.py:2168 part/models.py:2253
#: part/templates/part/part_app_base.html:8
-#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29
+#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
@@ -643,7 +645,7 @@ msgstr ""
#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
-#: templates/js/stock.js:1465
+#: templates/js/stock.js:1470
msgid "Part"
msgstr ""
@@ -691,7 +693,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:204 part/templates/part/part_base.html:160
+#: build/models.py:204 part/templates/part/part_base.html:167
msgid "Build Status"
msgstr ""
@@ -732,10 +734,10 @@ msgstr ""
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/models.py:250 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: order/templates/order/sales_order_base.html:140 part/models.py:886
#: report/templates/report/inventree_build_order_base.html:159
msgid "Responsible"
msgstr ""
@@ -749,8 +751,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:28
#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
-#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
-#: stock/models.py:458 stock/templates/stock/item_base.html:340
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:94
+#: stock/models.py:458 stock/templates/stock/item_base.html:345
msgid "External Link"
msgstr ""
@@ -768,12 +770,12 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:278
#: order/templates/order/so_navbar.html:33
#: order/templates/order/so_navbar.html:36 part/models.py:871
-#: part/templates/part/navbar.html:128
+#: part/templates/part/navbar.html:134
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+#: templates/js/bom.js:349 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
msgstr ""
@@ -823,7 +825,7 @@ msgstr ""
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1224 stock/templates/stock/item_base.html:312
+#: build/models.py:1224 stock/templates/stock/item_base.html:317
#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
@@ -838,10 +840,10 @@ msgstr ""
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/item_base.html:334
+#: stock/templates/stock/item_base.html:31
+#: stock/templates/stock/item_base.html:339
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
-#: templates/js/stock.js:1082 templates/js/stock.js:1384
+#: templates/js/stock.js:1087 templates/js/stock.js:1389
msgid "Stock Item"
msgstr ""
@@ -913,7 +915,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: order/templates/order/sales_order_detail.html:160
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:452 stock/templates/stock/item_base.html:244
+#: stock/models.py:452 stock/templates/stock/item_base.html:249
#: templates/js/build.js:474
msgid "Serial Number"
msgstr ""
@@ -921,8 +923,8 @@ msgstr ""
#: build/templates/build/attachments.html:12
#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
-#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
-#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:125
+#: part/templates/part/navbar.html:128 stock/templates/stock/navbar.html:47
#: stock/templates/stock/navbar.html:50
msgid "Attachments"
msgstr ""
@@ -943,119 +945,119 @@ msgstr ""
msgid "Stock items will have to be manually allocated"
msgstr ""
-#: build/templates/build/build_base.html:16
+#: build/templates/build/build_base.html:18
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:22
+#: build/templates/build/build_base.html:25
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:31
+#: build/templates/build/build_base.html:32
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:36
+#: build/templates/build/build_base.html:37
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:41
+#: build/templates/build/build_base.html:42
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:46
+#: build/templates/build/build_base.html:47
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:75
#: company/templates/company/company_base.html:40
#: company/templates/company/manufacturer_part_base.html:25
#: company/templates/company/supplier_part_base.html:26
#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:124
+#: order/templates/order/sales_order_base.html:37
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:22
+#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
msgstr ""
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:81
+#: build/templates/build/build_base.html:150
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:41
-#: order/templates/order/sales_order_base.html:86
+#: order/templates/order/sales_order_base.html:43
+#: order/templates/order/sales_order_base.html:88
#: templates/js/table_filters.js:241 templates/js/table_filters.js:260
#: templates/js/table_filters.js:277
msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:80
+#: build/templates/build/build_base.html:90
msgid "Print actions"
msgstr ""
-#: build/templates/build/build_base.html:84
+#: build/templates/build/build_base.html:94
msgid "Print Build Order"
msgstr ""
-#: build/templates/build/build_base.html:90
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:100
+#: build/templates/build/build_base.html:225
msgid "Complete Build"
msgstr ""
-#: build/templates/build/build_base.html:95
+#: build/templates/build/build_base.html:105
msgid "Build actions"
msgstr ""
-#: build/templates/build/build_base.html:99
+#: build/templates/build/build_base.html:109
msgid "Edit Build"
msgstr ""
-#: build/templates/build/build_base.html:101
-#: build/templates/build/build_base.html:199 build/views.py:57
+#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:209 build/views.py:57
msgid "Cancel Build"
msgstr ""
-#: build/templates/build/build_base.html:114
+#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr ""
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:150
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:147
+#: build/templates/build/build_base.html:157
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr ""
-#: build/templates/build/build_base.html:160
+#: build/templates/build/build_base.html:170
#: build/templates/build/detail.html:84 order/models.py:689
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_base.html:35
#: order/templates/order/sales_order_ship.html:25
#: part/templates/part/allocation.html:30
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:274 templates/js/order.js:245
+#: stock/templates/stock/item_base.html:279 templates/js/order.js:245
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:167
+#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:207
+#: build/templates/build/build_base.html:217
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:208
+#: build/templates/build/build_base.html:218
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1191,15 +1193,15 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:298 templates/js/stock.js:636
-#: templates/js/stock.js:1408 templates/js/table_filters.js:108
+#: stock/templates/stock/item_base.html:303 templates/js/stock.js:636
+#: templates/js/stock.js:1413 templates/js/table_filters.js:108
#: templates/js/table_filters.js:202
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+#: order/templates/order/sales_order_base.html:113 templates/js/build.js:778
msgid "Created"
msgstr ""
@@ -1282,8 +1284,8 @@ msgstr ""
#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
#: order/templates/order/order_notes.html:27
#: order/templates/order/sales_order_notes.html:29
-#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:477
-#: stock/templates/stock/item_base.html:487
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:482
+#: stock/templates/stock/item_base.html:492
#: stock/templates/stock/item_notes.html:26
msgid "Save"
msgstr ""
@@ -1429,7 +1431,7 @@ msgstr ""
msgid "Add Build Order Attachment"
msgstr ""
-#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:172
+#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:173
#: stock/views.py:277
msgid "Added attachment"
msgstr ""
@@ -1466,368 +1468,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:38 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:39
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:55
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
msgid "Download from URL"
msgstr ""
-#: common/models.py:92
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:98
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:99
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:105
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:106
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:110
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:111
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:124
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:125
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:146
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:153
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:159 part/models.py:2117 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:160
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:166 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:167
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:173 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:174
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:180 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:181
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:187 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:194 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:201 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:202
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:208
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:209
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:215 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:216
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:222
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:223
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:233
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:234
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:241
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:247
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:248
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:254
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:255
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:257 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:262
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:263
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:269
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:270
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:276
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:277
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:283
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:284
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:290
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:291
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:296
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:297
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:301
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:302
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:307
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:308
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:531
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:533
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:568
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:591
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:602
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:625
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:706 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:714 company/templates/company/supplier_part_pricing.html:82
-#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:271
msgid "Price"
msgstr ""
-#: common/models.py:715
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:804
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -1882,7 +1876,7 @@ msgstr ""
msgid "Image URL"
msgstr ""
-#: company/forms.py:118
+#: company/forms.py:118 templates/js/part.js:708
msgid "Single Price"
msgstr ""
@@ -1998,7 +1992,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:305 company/models.py:456 stock/models.py:405
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:235
msgid "Base Part"
msgstr ""
@@ -2011,7 +2005,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:25
#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:347
+#: part/bom.py:241 stock/templates/stock/item_base.html:352
#: templates/js/company.js:44 templates/js/company.js:165
#: templates/js/company.js:289
msgid "Manufacturer"
@@ -2030,7 +2024,7 @@ msgstr ""
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:359
+#: part/bom.py:286 stock/templates/stock/item_base.html:364
#: templates/js/company.js:48 templates/js/company.js:263
#: templates/js/order.js:170
msgid "Supplier"
@@ -2054,7 +2048,7 @@ msgstr ""
#: company/models.py:479
#: company/templates/company/manufacturer_part_base.html:6
#: company/templates/company/manufacturer_part_base.html:19
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:357
msgid "Manufacturer Part"
msgstr ""
@@ -2071,7 +2065,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:497 company/templates/company/supplier_part_base.html:116
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2228
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2281
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -2086,7 +2080,7 @@ msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:503 company/templates/company/supplier_part_base.html:109
-#: stock/models.py:429 stock/templates/stock/item_base.html:305
+#: stock/models.py:429 stock/templates/stock/item_base.html:310
#: templates/js/stock.js:667
msgid "Packaging"
msgstr ""
@@ -2154,7 +2148,8 @@ msgstr ""
#: company/templates/company/delete.html:12
#, python-format
-msgid "There are %(count)s parts sourced from this company.
\n"
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
"If this supplier is deleted, these supplier part entries will also be deleted."
msgstr ""
@@ -2171,10 +2166,10 @@ msgid "Uses default currency"
msgstr ""
#: company/templates/company/detail.html:67 order/models.py:461
-#: order/templates/order/sales_order_base.html:92 stock/models.py:447
-#: stock/models.py:448 stock/templates/stock/item_base.html:257
+#: order/templates/order/sales_order_base.html:94 stock/models.py:447
+#: stock/models.py:448 stock/templates/stock/item_base.html:262
#: templates/js/company.js:40 templates/js/order.js:267
-#: templates/js/stock.js:1064
+#: templates/js/stock.js:1069
msgid "Customer"
msgstr ""
@@ -2220,7 +2215,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1279
+#: templates/js/stock.js:1284
msgid "New Part"
msgstr ""
@@ -2267,7 +2262,7 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:49
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1285
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1290
msgid "New Supplier Part"
msgstr ""
@@ -2290,7 +2285,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
msgid "Order part"
msgstr ""
@@ -2324,8 +2319,8 @@ msgid "There are %(count)s suppliers defined for this manufacturer part. If you
msgstr ""
#: company/templates/company/manufacturer_part_navbar.html:14
-#: company/views.py:63 part/templates/part/navbar.html:78
-#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: company/views.py:63 part/templates/part/navbar.html:84
+#: part/templates/part/navbar.html:87 templates/InvenTree/search.html:316
#: templates/navbar.html:35
msgid "Suppliers"
msgstr ""
@@ -2342,7 +2337,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2400,10 +2395,10 @@ msgstr ""
#: company/templates/company/sales_orders.html:11
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
-#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/navbar.html:104 part/templates/part/navbar.html:107
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2412,10 +2407,10 @@ msgstr ""
#: company/templates/company/purchase_orders.html:10
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/navbar.html:90 part/templates/part/navbar.html:93
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -2446,7 +2441,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:414
-#: stock/templates/stock/item_base.html:364 templates/js/company.js:279
+#: stock/templates/stock/item_base.html:369 templates/js/company.js:279
msgid "Supplier Part"
msgstr ""
@@ -2495,7 +2490,7 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
-#: part/templates/part/sale_prices.html:17 part/views.py:2644
+#: part/templates/part/sale_prices.html:17 part/views.py:2733
msgid "Add Price Break"
msgstr ""
@@ -2514,8 +2509,8 @@ msgstr ""
msgid "Delete price break"
msgstr ""
-#: company/views.py:70 part/templates/part/navbar.html:72
-#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: company/views.py:70 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:306
#: templates/navbar.html:36
msgid "Manufacturers"
msgstr ""
@@ -2537,20 +2532,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:169 part/views.py:848
+#: company/views.py:169 part/views.py:937
msgid "Download Image"
msgstr ""
-#: company/views.py:198 part/views.py:880
+#: company/views.py:198 part/views.py:969
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:205 part/views.py:887
+#: company/views.py:205 part/views.py:976
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:214 part/views.py:896
+#: company/views.py:214 part/views.py:985
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2602,7 +2597,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:578 templates/js/stock.js:1286
+#: company/views.py:578 templates/js/stock.js:1291
msgid "Create new Supplier Part"
msgstr ""
@@ -2610,15 +2605,15 @@ msgstr ""
msgid "Delete Supplier Part"
msgstr ""
-#: company/views.py:799 part/views.py:2648
+#: company/views.py:799 part/views.py:2737
msgid "Added new price break"
msgstr ""
-#: company/views.py:855 part/views.py:2692
+#: company/views.py:855 part/views.py:2781
msgid "Edit Price Break"
msgstr ""
-#: company/views.py:870 part/views.py:2706
+#: company/views.py:870 part/views.py:2795
msgid "Delete Price Break"
msgstr ""
@@ -2692,11 +2687,11 @@ msgid "Mark order as complete"
msgstr ""
#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
-#: order/templates/order/sales_order_base.html:59
+#: order/templates/order/sales_order_base.html:61
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+#: order/forms.py:71 order/templates/order/sales_order_base.html:58
msgid "Ship order"
msgstr ""
@@ -2793,7 +2788,7 @@ msgstr ""
msgid "Date order was completed"
msgstr ""
-#: order/models.py:243 part/views.py:1586 stock/models.py:302
+#: order/models.py:243 part/views.py:1675 stock/models.py:302
#: stock/models.py:1018
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2859,8 +2854,8 @@ msgstr ""
#: order/models.py:645 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:319 templates/js/order.js:148
-#: templates/js/stock.js:1045
+#: stock/templates/stock/item_base.html:324 templates/js/order.js:148
+#: templates/js/stock.js:1050
msgid "Purchase Order"
msgstr ""
@@ -2871,7 +2866,7 @@ msgstr ""
#: order/models.py:662 order/templates/order/order_base.html:131
#: order/templates/order/purchase_order_detail.html:189
#: order/templates/order/receive_parts.html:22
-#: order/templates/order/sales_order_base.html:131
+#: order/templates/order/sales_order_base.html:133
msgid "Received"
msgstr ""
@@ -2880,7 +2875,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:669 stock/models.py:540
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:331
msgid "Purchase Price"
msgstr ""
@@ -2888,8 +2883,9 @@ msgstr ""
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:698 part/templates/part/navbar.html:95
-#: part/templates/part/part_pricing.html:78
+#: order/models.py:698 part/templates/part/navbar.html:101
+#: part/templates/part/order_prices.html:82
+#: part/templates/part/part_pricing.html:77
msgid "Sale Price"
msgstr ""
@@ -2940,12 +2936,12 @@ msgid "Are you sure you want to delete this attachment?"
msgstr ""
#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:48
+#: order/templates/order/sales_order_base.html:50
msgid "Print"
msgstr ""
#: order/templates/order/order_base.html:43
-#: order/templates/order/sales_order_base.html:52
+#: order/templates/order/sales_order_base.html:54
msgid "Edit order information"
msgstr ""
@@ -2963,12 +2959,12 @@ msgid "Purchase Order Details"
msgstr ""
#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:77
+#: order/templates/order/sales_order_base.html:79
msgid "Order Reference"
msgstr ""
#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:82
+#: order/templates/order/sales_order_base.html:84
msgid "Order Status"
msgstr ""
@@ -2981,7 +2977,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:100
#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1291
+#: templates/js/stock.js:1296
msgid "New Location"
msgstr ""
@@ -3193,14 +3189,14 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: order/templates/order/receive_parts.html:14 part/api.py:45
#: part/models.py:322 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:99
#: part/templates/part/category_navbar.html:22
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -3215,7 +3211,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:414
+#: part/templates/part/part_base.html:136 templates/js/part.js:414
msgid "On Order"
msgstr ""
@@ -3231,20 +3227,20 @@ msgstr ""
msgid "Remove line"
msgstr ""
-#: order/templates/order/sales_order_base.html:15
-msgid "This SalesOrder has not been fully allocated"
+#: order/templates/order/sales_order_base.html:16
+msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:64
+#: order/templates/order/sales_order_base.html:66
msgid "Packing List"
msgstr ""
-#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/sales_order_base.html:74
#: order/templates/order/so_navbar.html:12
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275
msgid "Customer Reference"
msgstr ""
@@ -3263,7 +3259,7 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:342
+#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358
#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr ""
@@ -3558,7 +3554,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:139 part/templates/part/part_base.html:117
+#: part/bom.py:139 part/templates/part/part_base.html:124
msgid "Available Stock"
msgstr ""
@@ -3631,7 +3627,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:122 part/models.py:2115
+#: part/forms.py:122 part/models.py:2168
msgid "Parent Part"
msgstr ""
@@ -3707,7 +3703,7 @@ msgstr ""
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:344 part/models.py:2209
+#: part/forms.py:344 part/models.py:2262
msgid "Sub part"
msgstr ""
@@ -3727,7 +3723,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:82 part/models.py:2161
+#: part/models.py:82 part/models.py:2214
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -3797,7 +3793,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:724 part/models.py:2160 part/templates/part/detail.html:73
+#: part/models.py:724 part/models.py:2213 part/templates/part/detail.html:73
#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr ""
@@ -3807,7 +3803,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:161
+#: part/templates/part/part_base.html:87 templates/js/part.js:161
msgid "IPN"
msgstr ""
@@ -3852,7 +3848,7 @@ msgstr ""
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:828 part/models.py:2089 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2142 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr ""
@@ -3923,167 +3919,167 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:1987
+#: part/models.py:2040
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2004
+#: part/models.py:2057
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2024 templates/js/part.js:638 templates/js/stock.js:104
+#: part/models.py:2077 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr ""
-#: part/models.py:2025
+#: part/models.py:2078
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2030
+#: part/models.py:2083
msgid "Test Description"
msgstr ""
-#: part/models.py:2031
+#: part/models.py:2084
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2036 templates/js/part.js:647
+#: part/models.py:2089 templates/js/part.js:647
#: templates/js/table_filters.js:223
msgid "Required"
msgstr ""
-#: part/models.py:2037
+#: part/models.py:2090
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2042 templates/js/part.js:655
+#: part/models.py:2095 templates/js/part.js:655
msgid "Requires Value"
msgstr ""
-#: part/models.py:2043
+#: part/models.py:2096
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2048 templates/js/part.js:662
+#: part/models.py:2101 templates/js/part.js:662
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2049
+#: part/models.py:2102
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2082
+#: part/models.py:2135
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2087
+#: part/models.py:2140
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2089
+#: part/models.py:2142
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2117 part/models.py:2166 part/models.py:2167
+#: part/models.py:2170 part/models.py:2219 part/models.py:2220
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Data"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2171 templates/InvenTree/settings/category.html:67
+#: part/models.py:2224 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2225
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2201
+#: part/models.py:2254
msgid "Select parent part"
msgstr ""
-#: part/models.py:2210
+#: part/models.py:2263
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2216
+#: part/models.py:2269
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2218 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2271 templates/js/bom.js:216 templates/js/bom.js:285
msgid "Optional"
msgstr ""
-#: part/models.py:2218
+#: part/models.py:2271
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2221
+#: part/models.py:2274
msgid "Overage"
msgstr ""
-#: part/models.py:2222
+#: part/models.py:2275
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2225
+#: part/models.py:2278
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2228
+#: part/models.py:2281
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "Checksum"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2234 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2287 templates/js/bom.js:295 templates/js/bom.js:302
#: templates/js/table_filters.js:51
msgid "Inherited"
msgstr ""
-#: part/models.py:2235
+#: part/models.py:2288
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2311 part/views.py:1592 part/views.py:1644
+#: part/models.py:2364 part/views.py:1681 part/views.py:1733
#: stock/models.py:292
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2320 part/models.py:2322
+#: part/models.py:2373 part/models.py:2375
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2325
+#: part/models.py:2378
msgid "BOM Item"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2495
msgid "Part 1"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Part 2"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2478
+#: part/models.py:2531
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4151,7 +4147,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:61 part/views.py:1887
+#: part/templates/part/bom.html:61 part/views.py:1976
msgid "Export Bill of Materials"
msgstr ""
@@ -4167,8 +4163,8 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1280
+#: part/templates/part/bom.html:160 part/views.py:585
+#: templates/js/stock.js:1285
msgid "Create New Part"
msgstr ""
@@ -4249,7 +4245,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:29 part/views.py:2290
+#: part/templates/part/category.html:29 part/views.py:2379
msgid "Create new part category"
msgstr ""
@@ -4367,7 +4363,7 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:460
+#: part/templates/part/copy_part.html:9 part/views.py:461
msgid "Duplicate Part"
msgstr ""
@@ -4504,27 +4500,111 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/templates/part/navbar.html:92
+#: part/templates/part/navbar.html:72 part/templates/part/order_prices.html:12
+msgid "Order Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:75
+msgid "Order Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:98
msgid "Sales Price Information"
msgstr ""
-#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+#: part/templates/part/navbar.html:112 part/templates/part/part_tests.html:10
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:404
+#: part/templates/part/navbar.html:115 stock/templates/stock/item_base.html:409
msgid "Tests"
msgstr ""
-#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/navbar.html:119 part/templates/part/navbar.html:122
#: part/templates/part/related.html:10
msgid "Related Parts"
msgstr ""
-#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+#: part/templates/part/navbar.html:131 part/templates/part/notes.html:12
msgid "Part Notes"
msgstr ""
+#: part/templates/part/order_prices.html:21
+msgid "Pricing ranges"
+msgstr ""
+
+#: part/templates/part/order_prices.html:26
+#: part/templates/part/part_pricing.html:18
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:27
+#: part/templates/part/order_prices.html:52
+#: part/templates/part/order_prices.html:83
+#: part/templates/part/part_pricing.html:22
+#: part/templates/part/part_pricing.html:48
+#: part/templates/part/part_pricing.html:80
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:34
+#: part/templates/part/order_prices.html:59
+#: part/templates/part/order_prices.html:88
+#: part/templates/part/part_pricing.html:28
+#: part/templates/part/part_pricing.html:54
+#: part/templates/part/part_pricing.html:84
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:42
+#: part/templates/part/part_pricing.html:36
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:51
+#: part/templates/part/order_prices.html:103
+#: part/templates/part/part_pricing.html:44
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:67
+#: part/templates/part/part_pricing.html:62
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/order_prices.html:74
+#: part/templates/part/part_pricing.html:69
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:97
+#: part/templates/part/part_pricing.html:93
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:113
+msgid "Stock Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:121
+msgid "No stock pricing history is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:140
+#, python-format
+msgid "Single Price - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:152
+#, python-format
+msgid "Single Price Difference - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:163
+#, python-format
+msgid "Part Single Price - %(currency)s"
+msgstr ""
+
#: part/templates/part/params.html:17
msgid "Add new parameter"
msgstr ""
@@ -4558,126 +4638,94 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:18
-#, python-format
-msgid "This part is a variant of %(link)s"
-msgstr ""
-
-#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: part/templates/part/part_base.html:26 templates/js/company.js:156
#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr ""
-#: part/templates/part/part_base.html:40
+#: part/templates/part/part_base.html:33
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:47
-#: stock/templates/stock/item_base.html:137
+#: part/templates/part/part_base.html:40
+#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:49
-#: stock/templates/stock/item_base.html:139
+#: part/templates/part/part_base.html:42
+#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:50
-#: stock/templates/stock/item_base.html:155
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:55
+#: part/templates/part/part_base.html:48
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:59
+#: part/templates/part/part_base.html:52
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:74
+#: part/templates/part/part_base.html:67
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:77
+#: part/templates/part/part_base.html:70
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:80
+#: part/templates/part/part_base.html:73
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:83
+#: part/templates/part/part_base.html:76
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:157
+#: part/templates/part/part_base.html:107
+msgid "This is a virtual part"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:130 templates/js/table_filters.js:157
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:143
+#: part/templates/part/part_base.html:150
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:157
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+#: part/templates/part/part_base.html:172 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:171 templates/js/part.js:418
+#: part/templates/part/part_base.html:178 templates/js/part.js:418
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:250
+#: part/templates/part/part_base.html:257
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_pricing.html:19
-msgid "Supplier Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:23
-#: part/templates/part/part_pricing.html:49
-#: part/templates/part/part_pricing.html:81
-msgid "Unit Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:29
-#: part/templates/part/part_pricing.html:55
-#: part/templates/part/part_pricing.html:85
-msgid "Total Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:37
-msgid "No supplier pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:45
-msgid "BOM Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:63
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:70
-msgid "No BOM pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:94
-msgid "No pricing information is available for this part."
-msgstr ""
-
#: part/templates/part/part_tests.html:17
msgid "Add Test Template"
msgstr ""
@@ -4787,212 +4835,212 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:89
+#: part/views.py:90
msgid "Add Related Part"
msgstr ""
-#: part/views.py:144
+#: part/views.py:145
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:158
+#: part/views.py:159
msgid "Add part attachment"
msgstr ""
-#: part/views.py:211 templates/attachment_table.html:32
+#: part/views.py:212 templates/attachment_table.html:32
msgid "Edit attachment"
msgstr ""
-#: part/views.py:215
+#: part/views.py:216
msgid "Part attachment updated"
msgstr ""
-#: part/views.py:230
+#: part/views.py:231
msgid "Delete Part Attachment"
msgstr ""
-#: part/views.py:238
+#: part/views.py:239
msgid "Deleted part attachment"
msgstr ""
-#: part/views.py:247
+#: part/views.py:248
msgid "Create Test Template"
msgstr ""
-#: part/views.py:274
+#: part/views.py:275
msgid "Edit Test Template"
msgstr ""
-#: part/views.py:288
+#: part/views.py:289
msgid "Delete Test Template"
msgstr ""
-#: part/views.py:295
+#: part/views.py:296
msgid "Set Part Category"
msgstr ""
-#: part/views.py:345
+#: part/views.py:346
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:380
+#: part/views.py:381
msgid "Create Variant"
msgstr ""
-#: part/views.py:465
+#: part/views.py:466
msgid "Copied part"
msgstr ""
-#: part/views.py:519 part/views.py:657
+#: part/views.py:520 part/views.py:658
msgid "Possible matches exist - confirm creation of new part"
msgstr ""
-#: part/views.py:589
+#: part/views.py:590
msgid "Created new part"
msgstr ""
-#: part/views.py:825
+#: part/views.py:914
msgid "Part QR Code"
msgstr ""
-#: part/views.py:927
+#: part/views.py:1016
msgid "Upload Part Image"
msgstr ""
-#: part/views.py:933 part/views.py:968
+#: part/views.py:1022 part/views.py:1057
msgid "Updated part image"
msgstr ""
-#: part/views.py:942
+#: part/views.py:1031
msgid "Select Part Image"
msgstr ""
-#: part/views.py:971
+#: part/views.py:1060
msgid "Part image not found"
msgstr ""
-#: part/views.py:982
+#: part/views.py:1071
msgid "Edit Part Properties"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1106
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1047
+#: part/views.py:1136
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1068
+#: part/views.py:1157
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1089
+#: part/views.py:1178
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1100
+#: part/views.py:1189
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1234
+#: part/views.py:1323
msgid "No BOM file provided"
msgstr ""
-#: part/views.py:1595
+#: part/views.py:1684
msgid "Enter a valid quantity"
msgstr ""
-#: part/views.py:1620 part/views.py:1623
+#: part/views.py:1709 part/views.py:1712
msgid "Select valid part"
msgstr ""
-#: part/views.py:1629
+#: part/views.py:1718
msgid "Duplicate part selected"
msgstr ""
-#: part/views.py:1667
+#: part/views.py:1756
msgid "Select a part"
msgstr ""
-#: part/views.py:1673
+#: part/views.py:1762
msgid "Selected part creates a circular BOM"
msgstr ""
-#: part/views.py:1677
+#: part/views.py:1766
msgid "Specify quantity"
msgstr ""
-#: part/views.py:1939
+#: part/views.py:2028
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1946
+#: part/views.py:2035
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1955
+#: part/views.py:2044
msgid "Part Pricing"
msgstr ""
-#: part/views.py:2089
+#: part/views.py:2178
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:2099
+#: part/views.py:2188
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:2106
+#: part/views.py:2195
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:2114
+#: part/views.py:2203
msgid "Create Part Parameter"
msgstr ""
-#: part/views.py:2164
+#: part/views.py:2253
msgid "Edit Part Parameter"
msgstr ""
-#: part/views.py:2178
+#: part/views.py:2267
msgid "Delete Part Parameter"
msgstr ""
-#: part/views.py:2238
+#: part/views.py:2327
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:2276
+#: part/views.py:2365
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:2282
+#: part/views.py:2371
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:2334
+#: part/views.py:2423
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2435
+#: part/views.py:2524
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2491
+#: part/views.py:2580
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2510
+#: part/views.py:2599
msgid "Create BOM Item"
msgstr ""
-#: part/views.py:2580
+#: part/views.py:2669
msgid "Edit BOM item"
msgstr ""
-#: part/views.py:2636
+#: part/views.py:2725
msgid "Confim BOM item deletion"
msgstr ""
@@ -5127,7 +5175,7 @@ msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507
-#: stock/templates/stock/item_base.html:371 templates/js/stock.js:656
+#: stock/templates/stock/item_base.html:376 templates/js/stock.js:656
msgid "Expiry Date"
msgstr ""
@@ -5277,7 +5325,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:435 stock/templates/stock/item_base.html:265
+#: stock/models.py:435 stock/templates/stock/item_base.html:270
msgid "Installed In"
msgstr ""
@@ -5412,173 +5460,173 @@ msgstr ""
msgid "Stock Item Attachments"
msgstr ""
-#: stock/templates/stock/item_base.html:24
-msgid "You are not in the list of owners of this item. This stock item cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:31
-msgid "This stock item is in production and cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:32
-msgid "Edit the stock item from the build view."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:45
-msgid "This stock item has not passed all required tests"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:53
-#, python-format
-msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:61
-#, python-format
-msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:67
-msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:71
-msgid "This stock item cannot be deleted as it has child items"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:75
-msgid "This stock item will be automatically deleted when all stock is depleted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:375 templates/js/table_filters.js:146
+#: stock/templates/stock/item_base.html:33
+#: stock/templates/stock/item_base.html:380 templates/js/table_filters.js:146
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:105
-#: stock/templates/stock/item_base.html:377 templates/js/table_filters.js:151
+#: stock/templates/stock/item_base.html:43
+#: stock/templates/stock/item_base.html:382 templates/js/table_filters.js:151
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:142 templates/js/barcode.js:309
+#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
#: templates/js/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:144
+#: stock/templates/stock/item_base.html:82
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:146 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:91
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:157
+#: stock/templates/stock/item_base.html:95
#: stock/templates/stock/item_tests.html:27
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item_base.html:166
+#: stock/templates/stock/item_base.html:104
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:170
+#: stock/templates/stock/item_base.html:108
#: stock/templates/stock/location.html:65 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:173 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:176 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:117
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:183
+#: stock/templates/stock/item_base.html:121
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:186
+#: stock/templates/stock/item_base.html:124
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:189
+#: stock/templates/stock/item_base.html:127
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:193 templates/js/stock.js:1421
+#: stock/templates/stock/item_base.html:131 templates/js/stock.js:1426
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:193
+#: stock/templates/stock/item_base.html:131
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:140
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: stock/templates/stock/item_base.html:205
+#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:146
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:148
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:213
+#: stock/templates/stock/item_base.html:151
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:225
+#: stock/templates/stock/item_base.html:171
+msgid "You are not in the list of owners of this item. This stock item cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:178
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:179
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:192
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:200
+#, python-format
+msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:208
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:214
+msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:218
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:222
+msgid "This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:230
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:284 templates/js/build.js:498
+#: stock/templates/stock/item_base.html:289 templates/js/build.js:498
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:291
+#: stock/templates/stock/item_base.html:296
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:333
+#: stock/templates/stock/item_base.html:338
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:380
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:377
+#: stock/templates/stock/item_base.html:382
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:384 templates/js/stock.js:662
+#: stock/templates/stock/item_base.html:389 templates/js/stock.js:662
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:389
+#: stock/templates/stock/item_base.html:394
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:398
msgid "No stocktake performed"
msgstr ""
@@ -6067,7 +6115,8 @@ msgstr ""
#: templates/InvenTree/settings/appearance.html:29
#, python-format
-msgid "\n"
+msgid ""
+"\n"
" The CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected color theme was not found.
\n"
" Please select another color theme :)\n"
" "
@@ -6107,11 +6156,35 @@ msgstr ""
msgid "Delete Template"
msgstr ""
+#: templates/InvenTree/settings/currencies.html:10
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
+msgstr ""
+
#: templates/InvenTree/settings/global.html:10
msgid "Global InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:27
+#: templates/InvenTree/settings/global.html:26
msgid "Barcode Settings"
msgstr ""
@@ -6190,10 +6263,14 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:25
msgid "Categories"
msgstr ""
@@ -6239,46 +6316,50 @@ msgid "Update Available"
msgstr ""
#: templates/about.html:34
+msgid "API Version"
+msgstr ""
+
+#: templates/about.html:39
msgid "Django Version"
msgstr ""
-#: templates/about.html:41
+#: templates/about.html:46
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:48
+#: templates/about.html:53
msgid "Commit Date"
msgstr ""
-#: templates/about.html:53
+#: templates/about.html:58
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:58
+#: templates/about.html:63
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:63
+#: templates/about.html:68
msgid "Credits"
msgstr ""
-#: templates/about.html:68
+#: templates/about.html:73
msgid "Mobile App"
msgstr ""
-#: templates/about.html:73
+#: templates/about.html:78
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:80 templates/clip.html:4
+#: templates/about.html:85 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:85
msgid "copy version information"
msgstr ""
-#: templates/about.html:90 templates/js/modals.js:568
+#: templates/about.html:95 templates/js/modals.js:568
#: templates/js/modals.js:846 templates/modals.html:29 templates/modals.html:54
#: templates/modals.html:97
msgid "Close"
@@ -6408,41 +6489,49 @@ msgstr ""
msgid "Open subassembly"
msgstr ""
-#: templates/js/bom.js:261
+#: templates/js/bom.js:249
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/bom.js:257
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/bom.js:277
msgid "No pricing available"
msgstr ""
-#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/bom.js:288 templates/js/filters.js:167
#: templates/js/filters.js:397
msgid "true"
msgstr ""
-#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/bom.js:289 templates/js/filters.js:171
#: templates/js/filters.js:398
msgid "false"
msgstr ""
-#: templates/js/bom.js:290 templates/js/bom.js:376
+#: templates/js/bom.js:306 templates/js/bom.js:392
msgid "View BOM"
msgstr ""
-#: templates/js/bom.js:350
+#: templates/js/bom.js:366
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/bom.js:352
+#: templates/js/bom.js:368
msgid "This line has been validated"
msgstr ""
-#: templates/js/bom.js:354
+#: templates/js/bom.js:370
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/bom.js:356
+#: templates/js/bom.js:372
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+#: templates/js/bom.js:463 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr ""
@@ -6485,7 +6574,7 @@ msgstr ""
#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
#: templates/js/stock.js:511 templates/js/stock.js:938
-#: templates/js/stock.js:1453
+#: templates/js/stock.js:1458
msgid "Select"
msgstr ""
@@ -6748,6 +6837,10 @@ msgstr ""
msgid "This test is defined for a parent part"
msgstr ""
+#: templates/js/part.js:727
+msgid "Single Price Difference"
+msgstr ""
+
#: templates/js/report.js:47
msgid "items selected"
msgstr ""
@@ -6942,55 +7035,55 @@ msgstr ""
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1036
+#: templates/js/stock.js:1041
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1055
+#: templates/js/stock.js:1060
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1074
+#: templates/js/stock.js:1079
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1097
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1115
+#: templates/js/stock.js:1120
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1123
+#: templates/js/stock.js:1128
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1155
+#: templates/js/stock.js:1160
msgid "No user information"
msgstr ""
-#: templates/js/stock.js:1167
+#: templates/js/stock.js:1172
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1168
+#: templates/js/stock.js:1173
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1292
+#: templates/js/stock.js:1297
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1391
+#: templates/js/stock.js:1396
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1484 templates/js/table_filters.js:172
+#: templates/js/stock.js:1489 templates/js/table_filters.js:172
msgid "Installed"
msgstr ""
-#: templates/js/stock.js:1509
+#: templates/js/stock.js:1514
msgid "Install item"
msgstr ""
@@ -7472,4 +7565,3 @@ msgstr ""
#: users/models.py:187
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 9d3d99e1c6..bbd9a9e162 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: 2021-05-17 10:46+0000\n"
-"PO-Revision-Date: 2021-05-17 10:47\n"
+"POT-Creation-Date: 2021-05-29 07:28+0000\n"
+"PO-Revision-Date: 2021-05-28 04:02\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -33,42 +33,42 @@ msgstr "Eşleşen eylem bulunamadı"
msgid "Enter date"
msgstr "Tarih giriniz"
-#: InvenTree/forms.py:110 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "Onay"
-#: InvenTree/forms.py:126
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr "Silmeyi Onayla"
-#: InvenTree/forms.py:127
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr "Silmeyi onayla"
-#: InvenTree/forms.py:159 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr "Şifrenizi girin"
-#: InvenTree/forms.py:160
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr "Lütfen Yeni Parolayı Girin"
-#: InvenTree/forms.py:167
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "Parolayı doğrulayın"
-#: InvenTree/forms.py:168
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "Yeni parolayı doğrulayın"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr "Temayı Uygula"
-#: InvenTree/forms.py:233
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr "Kategori Seçin"
@@ -122,9 +122,9 @@ msgstr "Yorum"
msgid "File comment"
msgstr "Yorum"
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1946
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1146
+#: templates/js/stock.js:1151
msgid "User"
msgstr "Kullanıcı"
@@ -133,7 +133,7 @@ msgid "upload date"
msgstr "Yükleme tarihi"
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:102
-#: part/models.py:686 part/models.py:2087 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/part.js:110
#: templates/js/part.js:553 templates/js/stock.js:944
@@ -171,23 +171,23 @@ msgstr "Açıklama(opsiyonel)"
msgid "parent"
msgstr "ebeveyn"
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr "İngilizce"
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr "Fransızca"
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr "Almanca"
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr "Polonyaca"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr "Türkçe"
@@ -232,7 +232,7 @@ msgid "Returned"
msgstr "İade"
#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:124
+#: order/templates/order/sales_order_base.html:126
msgid "Shipped"
msgstr "Sevk edildi"
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:587
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:636
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:681
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:887 templates/navbar.html:95
+#: InvenTree/views.py:937 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -444,10 +444,10 @@ msgstr ""
msgid "Order target date"
msgstr ""
-#: build/forms.py:42 build/templates/build/build_base.html:136
+#: build/forms.py:42 build/templates/build/build_base.html:146
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:117
+#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
@@ -461,8 +461,8 @@ msgstr ""
#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1245
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:123
-#: build/templates/build/detail.html:31 common/models.py:705
+#: build/templates/build/build_base.html:133
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -473,20 +473,22 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:162
#: order/templates/order/sales_order_detail.html:230 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2216
+#: part/forms.py:371 part/forms.py:387 part/models.py:2269
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
-#: part/templates/part/part_pricing.html:13
+#: part/templates/part/order_prices.html:175
+#: part/templates/part/part_pricing.html:12
#: part/templates/part/sale_prices.html:85
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
#: stock/forms.py:175 stock/forms.py:308
-#: stock/templates/stock/item_base.html:250
+#: stock/templates/stock/item_base.html:255
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
-#: templates/js/stock.js:1131 templates/js/stock.js:1393
+#: templates/js/part.js:717 templates/js/stock.js:1136
+#: templates/js/stock.js:1398
msgid "Quantity"
msgstr ""
@@ -528,11 +530,11 @@ msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
-#: stock/templates/stock/item_base.html:280
+#: stock/templates/stock/item_base.html:285
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:490
-#: templates/js/stock.js:641 templates/js/stock.js:1023
+#: templates/js/stock.js:641 templates/js/stock.js:1028
msgid "Location"
msgstr ""
@@ -540,14 +542,14 @@ msgstr ""
msgid "Location of completed parts"
msgstr ""
-#: build/forms.py:215 build/templates/build/build_base.html:128
+#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:59 order/models.py:466
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:398 templates/InvenTree/search.html:252
+#: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:770
#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1100
-#: templates/js/stock.js:1401
+#: templates/js/stock.js:628 templates/js/stock.js:1105
+#: templates/js/stock.js:1406
msgid "Status"
msgstr ""
@@ -580,7 +582,7 @@ msgid "Select quantity of stock to allocate"
msgstr ""
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:63
+#: build/templates/build/build_base.html:73
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -592,7 +594,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -602,7 +604,7 @@ msgstr ""
#: build/models.py:127 order/models.py:99 order/models.py:616
#: order/templates/order/purchase_order_detail.html:170
-#: order/templates/order/sales_order_detail.html:225 part/models.py:2225
+#: order/templates/order/sales_order_detail.html:225 part/models.py:2278
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
#: templates/js/build.js:565 templates/js/build.js:1008
@@ -613,7 +615,7 @@ msgstr ""
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/models.py:146 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr ""
@@ -623,17 +625,17 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:128
#: build/templates/build/detail.html:26 company/models.py:622
#: order/models.py:658 order/models.py:691
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:131
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:213 part/models.py:321
-#: part/models.py:1914 part/models.py:1926 part/models.py:1944
-#: part/models.py:2019 part/models.py:2115 part/models.py:2200
+#: part/models.py:1967 part/models.py:1979 part/models.py:1997
+#: part/models.py:2072 part/models.py:2168 part/models.py:2253
#: part/templates/part/part_app_base.html:8
-#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29
+#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
@@ -643,7 +645,7 @@ msgstr ""
#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
-#: templates/js/stock.js:1465
+#: templates/js/stock.js:1470
msgid "Part"
msgstr ""
@@ -691,7 +693,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:204 part/templates/part/part_base.html:160
+#: build/models.py:204 part/templates/part/part_base.html:167
msgid "Build Status"
msgstr ""
@@ -732,10 +734,10 @@ msgstr ""
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/models.py:250 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: order/templates/order/sales_order_base.html:140 part/models.py:886
#: report/templates/report/inventree_build_order_base.html:159
msgid "Responsible"
msgstr ""
@@ -749,8 +751,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:28
#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
-#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
-#: stock/models.py:458 stock/templates/stock/item_base.html:340
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:94
+#: stock/models.py:458 stock/templates/stock/item_base.html:345
msgid "External Link"
msgstr ""
@@ -768,12 +770,12 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:278
#: order/templates/order/so_navbar.html:33
#: order/templates/order/so_navbar.html:36 part/models.py:871
-#: part/templates/part/navbar.html:128
+#: part/templates/part/navbar.html:134
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+#: templates/js/bom.js:349 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
msgstr ""
@@ -823,7 +825,7 @@ msgstr ""
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1224 stock/templates/stock/item_base.html:312
+#: build/models.py:1224 stock/templates/stock/item_base.html:317
#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
@@ -838,10 +840,10 @@ msgstr ""
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/item_base.html:334
+#: stock/templates/stock/item_base.html:31
+#: stock/templates/stock/item_base.html:339
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
-#: templates/js/stock.js:1082 templates/js/stock.js:1384
+#: templates/js/stock.js:1087 templates/js/stock.js:1389
msgid "Stock Item"
msgstr ""
@@ -913,7 +915,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: order/templates/order/sales_order_detail.html:160
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:452 stock/templates/stock/item_base.html:244
+#: stock/models.py:452 stock/templates/stock/item_base.html:249
#: templates/js/build.js:474
msgid "Serial Number"
msgstr ""
@@ -921,8 +923,8 @@ msgstr ""
#: build/templates/build/attachments.html:12
#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
-#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
-#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:125
+#: part/templates/part/navbar.html:128 stock/templates/stock/navbar.html:47
#: stock/templates/stock/navbar.html:50
msgid "Attachments"
msgstr ""
@@ -943,119 +945,119 @@ msgstr ""
msgid "Stock items will have to be manually allocated"
msgstr ""
-#: build/templates/build/build_base.html:16
+#: build/templates/build/build_base.html:18
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:22
+#: build/templates/build/build_base.html:25
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:31
+#: build/templates/build/build_base.html:32
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:36
+#: build/templates/build/build_base.html:37
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:41
+#: build/templates/build/build_base.html:42
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:46
+#: build/templates/build/build_base.html:47
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:75
#: company/templates/company/company_base.html:40
#: company/templates/company/manufacturer_part_base.html:25
#: company/templates/company/supplier_part_base.html:26
#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:124
+#: order/templates/order/sales_order_base.html:37
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:22
+#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
msgstr ""
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:81
+#: build/templates/build/build_base.html:150
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:41
-#: order/templates/order/sales_order_base.html:86
+#: order/templates/order/sales_order_base.html:43
+#: order/templates/order/sales_order_base.html:88
#: templates/js/table_filters.js:241 templates/js/table_filters.js:260
#: templates/js/table_filters.js:277
msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:80
+#: build/templates/build/build_base.html:90
msgid "Print actions"
msgstr ""
-#: build/templates/build/build_base.html:84
+#: build/templates/build/build_base.html:94
msgid "Print Build Order"
msgstr ""
-#: build/templates/build/build_base.html:90
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:100
+#: build/templates/build/build_base.html:225
msgid "Complete Build"
msgstr ""
-#: build/templates/build/build_base.html:95
+#: build/templates/build/build_base.html:105
msgid "Build actions"
msgstr ""
-#: build/templates/build/build_base.html:99
+#: build/templates/build/build_base.html:109
msgid "Edit Build"
msgstr ""
-#: build/templates/build/build_base.html:101
-#: build/templates/build/build_base.html:199 build/views.py:57
+#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:209 build/views.py:57
msgid "Cancel Build"
msgstr ""
-#: build/templates/build/build_base.html:114
+#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr ""
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:150
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:147
+#: build/templates/build/build_base.html:157
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr ""
-#: build/templates/build/build_base.html:160
+#: build/templates/build/build_base.html:170
#: build/templates/build/detail.html:84 order/models.py:689
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_base.html:35
#: order/templates/order/sales_order_ship.html:25
#: part/templates/part/allocation.html:30
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:274 templates/js/order.js:245
+#: stock/templates/stock/item_base.html:279 templates/js/order.js:245
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:167
+#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:207
+#: build/templates/build/build_base.html:217
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:208
+#: build/templates/build/build_base.html:218
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1191,15 +1193,15 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:298 templates/js/stock.js:636
-#: templates/js/stock.js:1408 templates/js/table_filters.js:108
+#: stock/templates/stock/item_base.html:303 templates/js/stock.js:636
+#: templates/js/stock.js:1413 templates/js/table_filters.js:108
#: templates/js/table_filters.js:202
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+#: order/templates/order/sales_order_base.html:113 templates/js/build.js:778
msgid "Created"
msgstr ""
@@ -1282,8 +1284,8 @@ msgstr ""
#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
#: order/templates/order/order_notes.html:27
#: order/templates/order/sales_order_notes.html:29
-#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:477
-#: stock/templates/stock/item_base.html:487
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:482
+#: stock/templates/stock/item_base.html:492
#: stock/templates/stock/item_notes.html:26
msgid "Save"
msgstr ""
@@ -1429,7 +1431,7 @@ msgstr ""
msgid "Add Build Order Attachment"
msgstr ""
-#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:172
+#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:173
#: stock/views.py:277
msgid "Added attachment"
msgstr ""
@@ -1466,368 +1468,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:38 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:39
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:55
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
msgid "Download from URL"
msgstr ""
-#: common/models.py:92
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:98
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:99
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:105
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:106
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:110
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:111
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:124
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:125
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:146
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:153
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:159 part/models.py:2117 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:160
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:166 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:167
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:173 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:174
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:180 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:181
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:187 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:194 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:201 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:202
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:208
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:209
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:215 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:216
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:222
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:223
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:233
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:234
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:241
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:247
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:248
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:254
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:255
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:257 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:262
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:263
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:269
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:270
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:276
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:277
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:283
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:284
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:290
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:291
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:296
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:297
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:301
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:302
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:307
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:308
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:531
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:533
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:568
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:591
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:602
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:625
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:706 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:714 company/templates/company/supplier_part_pricing.html:82
-#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:271
msgid "Price"
msgstr ""
-#: common/models.py:715
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:804
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -1882,7 +1876,7 @@ msgstr ""
msgid "Image URL"
msgstr ""
-#: company/forms.py:118
+#: company/forms.py:118 templates/js/part.js:708
msgid "Single Price"
msgstr ""
@@ -1998,7 +1992,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:305 company/models.py:456 stock/models.py:405
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:235
msgid "Base Part"
msgstr ""
@@ -2011,7 +2005,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:25
#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:347
+#: part/bom.py:241 stock/templates/stock/item_base.html:352
#: templates/js/company.js:44 templates/js/company.js:165
#: templates/js/company.js:289
msgid "Manufacturer"
@@ -2030,7 +2024,7 @@ msgstr ""
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:359
+#: part/bom.py:286 stock/templates/stock/item_base.html:364
#: templates/js/company.js:48 templates/js/company.js:263
#: templates/js/order.js:170
msgid "Supplier"
@@ -2054,7 +2048,7 @@ msgstr ""
#: company/models.py:479
#: company/templates/company/manufacturer_part_base.html:6
#: company/templates/company/manufacturer_part_base.html:19
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:357
msgid "Manufacturer Part"
msgstr ""
@@ -2071,7 +2065,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:497 company/templates/company/supplier_part_base.html:116
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2228
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2281
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -2086,7 +2080,7 @@ msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:503 company/templates/company/supplier_part_base.html:109
-#: stock/models.py:429 stock/templates/stock/item_base.html:305
+#: stock/models.py:429 stock/templates/stock/item_base.html:310
#: templates/js/stock.js:667
msgid "Packaging"
msgstr ""
@@ -2154,7 +2148,8 @@ msgstr ""
#: company/templates/company/delete.html:12
#, python-format
-msgid "There are %(count)s parts sourced from this company.
\n"
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
"If this supplier is deleted, these supplier part entries will also be deleted."
msgstr ""
@@ -2171,10 +2166,10 @@ msgid "Uses default currency"
msgstr ""
#: company/templates/company/detail.html:67 order/models.py:461
-#: order/templates/order/sales_order_base.html:92 stock/models.py:447
-#: stock/models.py:448 stock/templates/stock/item_base.html:257
+#: order/templates/order/sales_order_base.html:94 stock/models.py:447
+#: stock/models.py:448 stock/templates/stock/item_base.html:262
#: templates/js/company.js:40 templates/js/order.js:267
-#: templates/js/stock.js:1064
+#: templates/js/stock.js:1069
msgid "Customer"
msgstr ""
@@ -2220,7 +2215,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1279
+#: templates/js/stock.js:1284
msgid "New Part"
msgstr ""
@@ -2267,7 +2262,7 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:49
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1285
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1290
msgid "New Supplier Part"
msgstr ""
@@ -2290,7 +2285,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
msgid "Order part"
msgstr ""
@@ -2324,8 +2319,8 @@ msgid "There are %(count)s suppliers defined for this manufacturer part. If you
msgstr ""
#: company/templates/company/manufacturer_part_navbar.html:14
-#: company/views.py:63 part/templates/part/navbar.html:78
-#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: company/views.py:63 part/templates/part/navbar.html:84
+#: part/templates/part/navbar.html:87 templates/InvenTree/search.html:316
#: templates/navbar.html:35
msgid "Suppliers"
msgstr ""
@@ -2342,7 +2337,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2400,10 +2395,10 @@ msgstr ""
#: company/templates/company/sales_orders.html:11
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
-#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/navbar.html:104 part/templates/part/navbar.html:107
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2412,10 +2407,10 @@ msgstr ""
#: company/templates/company/purchase_orders.html:10
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/navbar.html:90 part/templates/part/navbar.html:93
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -2446,7 +2441,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:414
-#: stock/templates/stock/item_base.html:364 templates/js/company.js:279
+#: stock/templates/stock/item_base.html:369 templates/js/company.js:279
msgid "Supplier Part"
msgstr ""
@@ -2495,7 +2490,7 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
-#: part/templates/part/sale_prices.html:17 part/views.py:2644
+#: part/templates/part/sale_prices.html:17 part/views.py:2733
msgid "Add Price Break"
msgstr ""
@@ -2514,8 +2509,8 @@ msgstr ""
msgid "Delete price break"
msgstr ""
-#: company/views.py:70 part/templates/part/navbar.html:72
-#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: company/views.py:70 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:306
#: templates/navbar.html:36
msgid "Manufacturers"
msgstr ""
@@ -2537,20 +2532,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:169 part/views.py:848
+#: company/views.py:169 part/views.py:937
msgid "Download Image"
msgstr ""
-#: company/views.py:198 part/views.py:880
+#: company/views.py:198 part/views.py:969
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:205 part/views.py:887
+#: company/views.py:205 part/views.py:976
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:214 part/views.py:896
+#: company/views.py:214 part/views.py:985
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2602,7 +2597,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:578 templates/js/stock.js:1286
+#: company/views.py:578 templates/js/stock.js:1291
msgid "Create new Supplier Part"
msgstr ""
@@ -2610,15 +2605,15 @@ msgstr ""
msgid "Delete Supplier Part"
msgstr ""
-#: company/views.py:799 part/views.py:2648
+#: company/views.py:799 part/views.py:2737
msgid "Added new price break"
msgstr ""
-#: company/views.py:855 part/views.py:2692
+#: company/views.py:855 part/views.py:2781
msgid "Edit Price Break"
msgstr ""
-#: company/views.py:870 part/views.py:2706
+#: company/views.py:870 part/views.py:2795
msgid "Delete Price Break"
msgstr ""
@@ -2692,11 +2687,11 @@ msgid "Mark order as complete"
msgstr ""
#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
-#: order/templates/order/sales_order_base.html:59
+#: order/templates/order/sales_order_base.html:61
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+#: order/forms.py:71 order/templates/order/sales_order_base.html:58
msgid "Ship order"
msgstr ""
@@ -2793,7 +2788,7 @@ msgstr ""
msgid "Date order was completed"
msgstr ""
-#: order/models.py:243 part/views.py:1586 stock/models.py:302
+#: order/models.py:243 part/views.py:1675 stock/models.py:302
#: stock/models.py:1018
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2859,8 +2854,8 @@ msgstr ""
#: order/models.py:645 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:319 templates/js/order.js:148
-#: templates/js/stock.js:1045
+#: stock/templates/stock/item_base.html:324 templates/js/order.js:148
+#: templates/js/stock.js:1050
msgid "Purchase Order"
msgstr ""
@@ -2871,7 +2866,7 @@ msgstr ""
#: order/models.py:662 order/templates/order/order_base.html:131
#: order/templates/order/purchase_order_detail.html:189
#: order/templates/order/receive_parts.html:22
-#: order/templates/order/sales_order_base.html:131
+#: order/templates/order/sales_order_base.html:133
msgid "Received"
msgstr ""
@@ -2880,7 +2875,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:669 stock/models.py:540
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:331
msgid "Purchase Price"
msgstr ""
@@ -2888,8 +2883,9 @@ msgstr ""
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:698 part/templates/part/navbar.html:95
-#: part/templates/part/part_pricing.html:78
+#: order/models.py:698 part/templates/part/navbar.html:101
+#: part/templates/part/order_prices.html:82
+#: part/templates/part/part_pricing.html:77
msgid "Sale Price"
msgstr ""
@@ -2940,12 +2936,12 @@ msgid "Are you sure you want to delete this attachment?"
msgstr ""
#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:48
+#: order/templates/order/sales_order_base.html:50
msgid "Print"
msgstr ""
#: order/templates/order/order_base.html:43
-#: order/templates/order/sales_order_base.html:52
+#: order/templates/order/sales_order_base.html:54
msgid "Edit order information"
msgstr ""
@@ -2963,12 +2959,12 @@ msgid "Purchase Order Details"
msgstr ""
#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:77
+#: order/templates/order/sales_order_base.html:79
msgid "Order Reference"
msgstr ""
#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:82
+#: order/templates/order/sales_order_base.html:84
msgid "Order Status"
msgstr ""
@@ -2981,7 +2977,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:100
#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1291
+#: templates/js/stock.js:1296
msgid "New Location"
msgstr ""
@@ -3193,14 +3189,14 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: order/templates/order/receive_parts.html:14 part/api.py:45
#: part/models.py:322 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:99
#: part/templates/part/category_navbar.html:22
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -3215,7 +3211,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:414
+#: part/templates/part/part_base.html:136 templates/js/part.js:414
msgid "On Order"
msgstr ""
@@ -3231,20 +3227,20 @@ msgstr ""
msgid "Remove line"
msgstr ""
-#: order/templates/order/sales_order_base.html:15
-msgid "This SalesOrder has not been fully allocated"
+#: order/templates/order/sales_order_base.html:16
+msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:64
+#: order/templates/order/sales_order_base.html:66
msgid "Packing List"
msgstr ""
-#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/sales_order_base.html:74
#: order/templates/order/so_navbar.html:12
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275
msgid "Customer Reference"
msgstr ""
@@ -3263,7 +3259,7 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:342
+#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358
#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr ""
@@ -3558,7 +3554,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:139 part/templates/part/part_base.html:117
+#: part/bom.py:139 part/templates/part/part_base.html:124
msgid "Available Stock"
msgstr ""
@@ -3631,7 +3627,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:122 part/models.py:2115
+#: part/forms.py:122 part/models.py:2168
msgid "Parent Part"
msgstr ""
@@ -3707,7 +3703,7 @@ msgstr ""
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:344 part/models.py:2209
+#: part/forms.py:344 part/models.py:2262
msgid "Sub part"
msgstr ""
@@ -3727,7 +3723,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:82 part/models.py:2161
+#: part/models.py:82 part/models.py:2214
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -3797,7 +3793,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:724 part/models.py:2160 part/templates/part/detail.html:73
+#: part/models.py:724 part/models.py:2213 part/templates/part/detail.html:73
#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr ""
@@ -3807,7 +3803,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:161
+#: part/templates/part/part_base.html:87 templates/js/part.js:161
msgid "IPN"
msgstr ""
@@ -3852,7 +3848,7 @@ msgstr ""
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:828 part/models.py:2089 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2142 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr ""
@@ -3923,167 +3919,167 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:1987
+#: part/models.py:2040
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2004
+#: part/models.py:2057
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2024 templates/js/part.js:638 templates/js/stock.js:104
+#: part/models.py:2077 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr ""
-#: part/models.py:2025
+#: part/models.py:2078
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2030
+#: part/models.py:2083
msgid "Test Description"
msgstr ""
-#: part/models.py:2031
+#: part/models.py:2084
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2036 templates/js/part.js:647
+#: part/models.py:2089 templates/js/part.js:647
#: templates/js/table_filters.js:223
msgid "Required"
msgstr ""
-#: part/models.py:2037
+#: part/models.py:2090
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2042 templates/js/part.js:655
+#: part/models.py:2095 templates/js/part.js:655
msgid "Requires Value"
msgstr ""
-#: part/models.py:2043
+#: part/models.py:2096
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2048 templates/js/part.js:662
+#: part/models.py:2101 templates/js/part.js:662
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2049
+#: part/models.py:2102
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2082
+#: part/models.py:2135
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2087
+#: part/models.py:2140
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2089
+#: part/models.py:2142
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2117 part/models.py:2166 part/models.py:2167
+#: part/models.py:2170 part/models.py:2219 part/models.py:2220
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Data"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2171 templates/InvenTree/settings/category.html:67
+#: part/models.py:2224 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2225
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2201
+#: part/models.py:2254
msgid "Select parent part"
msgstr ""
-#: part/models.py:2210
+#: part/models.py:2263
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2216
+#: part/models.py:2269
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2218 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2271 templates/js/bom.js:216 templates/js/bom.js:285
msgid "Optional"
msgstr ""
-#: part/models.py:2218
+#: part/models.py:2271
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2221
+#: part/models.py:2274
msgid "Overage"
msgstr ""
-#: part/models.py:2222
+#: part/models.py:2275
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2225
+#: part/models.py:2278
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2228
+#: part/models.py:2281
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "Checksum"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2234 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2287 templates/js/bom.js:295 templates/js/bom.js:302
#: templates/js/table_filters.js:51
msgid "Inherited"
msgstr ""
-#: part/models.py:2235
+#: part/models.py:2288
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2311 part/views.py:1592 part/views.py:1644
+#: part/models.py:2364 part/views.py:1681 part/views.py:1733
#: stock/models.py:292
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2320 part/models.py:2322
+#: part/models.py:2373 part/models.py:2375
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2325
+#: part/models.py:2378
msgid "BOM Item"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2495
msgid "Part 1"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Part 2"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2478
+#: part/models.py:2531
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4151,7 +4147,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:61 part/views.py:1887
+#: part/templates/part/bom.html:61 part/views.py:1976
msgid "Export Bill of Materials"
msgstr ""
@@ -4167,8 +4163,8 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1280
+#: part/templates/part/bom.html:160 part/views.py:585
+#: templates/js/stock.js:1285
msgid "Create New Part"
msgstr ""
@@ -4249,7 +4245,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:29 part/views.py:2290
+#: part/templates/part/category.html:29 part/views.py:2379
msgid "Create new part category"
msgstr ""
@@ -4367,7 +4363,7 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:460
+#: part/templates/part/copy_part.html:9 part/views.py:461
msgid "Duplicate Part"
msgstr ""
@@ -4504,27 +4500,111 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/templates/part/navbar.html:92
+#: part/templates/part/navbar.html:72 part/templates/part/order_prices.html:12
+msgid "Order Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:75
+msgid "Order Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:98
msgid "Sales Price Information"
msgstr ""
-#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+#: part/templates/part/navbar.html:112 part/templates/part/part_tests.html:10
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:404
+#: part/templates/part/navbar.html:115 stock/templates/stock/item_base.html:409
msgid "Tests"
msgstr ""
-#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/navbar.html:119 part/templates/part/navbar.html:122
#: part/templates/part/related.html:10
msgid "Related Parts"
msgstr ""
-#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+#: part/templates/part/navbar.html:131 part/templates/part/notes.html:12
msgid "Part Notes"
msgstr ""
+#: part/templates/part/order_prices.html:21
+msgid "Pricing ranges"
+msgstr ""
+
+#: part/templates/part/order_prices.html:26
+#: part/templates/part/part_pricing.html:18
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:27
+#: part/templates/part/order_prices.html:52
+#: part/templates/part/order_prices.html:83
+#: part/templates/part/part_pricing.html:22
+#: part/templates/part/part_pricing.html:48
+#: part/templates/part/part_pricing.html:80
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:34
+#: part/templates/part/order_prices.html:59
+#: part/templates/part/order_prices.html:88
+#: part/templates/part/part_pricing.html:28
+#: part/templates/part/part_pricing.html:54
+#: part/templates/part/part_pricing.html:84
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:42
+#: part/templates/part/part_pricing.html:36
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:51
+#: part/templates/part/order_prices.html:103
+#: part/templates/part/part_pricing.html:44
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:67
+#: part/templates/part/part_pricing.html:62
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/order_prices.html:74
+#: part/templates/part/part_pricing.html:69
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:97
+#: part/templates/part/part_pricing.html:93
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:113
+msgid "Stock Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:121
+msgid "No stock pricing history is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:140
+#, python-format
+msgid "Single Price - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:152
+#, python-format
+msgid "Single Price Difference - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:163
+#, python-format
+msgid "Part Single Price - %(currency)s"
+msgstr ""
+
#: part/templates/part/params.html:17
msgid "Add new parameter"
msgstr ""
@@ -4558,126 +4638,94 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:18
-#, python-format
-msgid "This part is a variant of %(link)s"
-msgstr ""
-
-#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: part/templates/part/part_base.html:26 templates/js/company.js:156
#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr ""
-#: part/templates/part/part_base.html:40
+#: part/templates/part/part_base.html:33
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:47
-#: stock/templates/stock/item_base.html:137
+#: part/templates/part/part_base.html:40
+#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:49
-#: stock/templates/stock/item_base.html:139
+#: part/templates/part/part_base.html:42
+#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:50
-#: stock/templates/stock/item_base.html:155
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:55
+#: part/templates/part/part_base.html:48
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:59
+#: part/templates/part/part_base.html:52
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:74
+#: part/templates/part/part_base.html:67
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:77
+#: part/templates/part/part_base.html:70
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:80
+#: part/templates/part/part_base.html:73
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:83
+#: part/templates/part/part_base.html:76
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:157
+#: part/templates/part/part_base.html:107
+msgid "This is a virtual part"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:130 templates/js/table_filters.js:157
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:143
+#: part/templates/part/part_base.html:150
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:157
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+#: part/templates/part/part_base.html:172 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:171 templates/js/part.js:418
+#: part/templates/part/part_base.html:178 templates/js/part.js:418
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:250
+#: part/templates/part/part_base.html:257
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_pricing.html:19
-msgid "Supplier Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:23
-#: part/templates/part/part_pricing.html:49
-#: part/templates/part/part_pricing.html:81
-msgid "Unit Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:29
-#: part/templates/part/part_pricing.html:55
-#: part/templates/part/part_pricing.html:85
-msgid "Total Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:37
-msgid "No supplier pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:45
-msgid "BOM Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:63
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:70
-msgid "No BOM pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:94
-msgid "No pricing information is available for this part."
-msgstr ""
-
#: part/templates/part/part_tests.html:17
msgid "Add Test Template"
msgstr ""
@@ -4787,212 +4835,212 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:89
+#: part/views.py:90
msgid "Add Related Part"
msgstr ""
-#: part/views.py:144
+#: part/views.py:145
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:158
+#: part/views.py:159
msgid "Add part attachment"
msgstr ""
-#: part/views.py:211 templates/attachment_table.html:32
+#: part/views.py:212 templates/attachment_table.html:32
msgid "Edit attachment"
msgstr ""
-#: part/views.py:215
+#: part/views.py:216
msgid "Part attachment updated"
msgstr ""
-#: part/views.py:230
+#: part/views.py:231
msgid "Delete Part Attachment"
msgstr ""
-#: part/views.py:238
+#: part/views.py:239
msgid "Deleted part attachment"
msgstr ""
-#: part/views.py:247
+#: part/views.py:248
msgid "Create Test Template"
msgstr ""
-#: part/views.py:274
+#: part/views.py:275
msgid "Edit Test Template"
msgstr ""
-#: part/views.py:288
+#: part/views.py:289
msgid "Delete Test Template"
msgstr ""
-#: part/views.py:295
+#: part/views.py:296
msgid "Set Part Category"
msgstr ""
-#: part/views.py:345
+#: part/views.py:346
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:380
+#: part/views.py:381
msgid "Create Variant"
msgstr ""
-#: part/views.py:465
+#: part/views.py:466
msgid "Copied part"
msgstr ""
-#: part/views.py:519 part/views.py:657
+#: part/views.py:520 part/views.py:658
msgid "Possible matches exist - confirm creation of new part"
msgstr ""
-#: part/views.py:589
+#: part/views.py:590
msgid "Created new part"
msgstr ""
-#: part/views.py:825
+#: part/views.py:914
msgid "Part QR Code"
msgstr ""
-#: part/views.py:927
+#: part/views.py:1016
msgid "Upload Part Image"
msgstr ""
-#: part/views.py:933 part/views.py:968
+#: part/views.py:1022 part/views.py:1057
msgid "Updated part image"
msgstr ""
-#: part/views.py:942
+#: part/views.py:1031
msgid "Select Part Image"
msgstr ""
-#: part/views.py:971
+#: part/views.py:1060
msgid "Part image not found"
msgstr ""
-#: part/views.py:982
+#: part/views.py:1071
msgid "Edit Part Properties"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1106
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1047
+#: part/views.py:1136
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1068
+#: part/views.py:1157
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1089
+#: part/views.py:1178
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1100
+#: part/views.py:1189
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1234
+#: part/views.py:1323
msgid "No BOM file provided"
msgstr ""
-#: part/views.py:1595
+#: part/views.py:1684
msgid "Enter a valid quantity"
msgstr ""
-#: part/views.py:1620 part/views.py:1623
+#: part/views.py:1709 part/views.py:1712
msgid "Select valid part"
msgstr ""
-#: part/views.py:1629
+#: part/views.py:1718
msgid "Duplicate part selected"
msgstr ""
-#: part/views.py:1667
+#: part/views.py:1756
msgid "Select a part"
msgstr ""
-#: part/views.py:1673
+#: part/views.py:1762
msgid "Selected part creates a circular BOM"
msgstr ""
-#: part/views.py:1677
+#: part/views.py:1766
msgid "Specify quantity"
msgstr ""
-#: part/views.py:1939
+#: part/views.py:2028
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1946
+#: part/views.py:2035
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1955
+#: part/views.py:2044
msgid "Part Pricing"
msgstr ""
-#: part/views.py:2089
+#: part/views.py:2178
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:2099
+#: part/views.py:2188
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:2106
+#: part/views.py:2195
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:2114
+#: part/views.py:2203
msgid "Create Part Parameter"
msgstr ""
-#: part/views.py:2164
+#: part/views.py:2253
msgid "Edit Part Parameter"
msgstr ""
-#: part/views.py:2178
+#: part/views.py:2267
msgid "Delete Part Parameter"
msgstr ""
-#: part/views.py:2238
+#: part/views.py:2327
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:2276
+#: part/views.py:2365
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:2282
+#: part/views.py:2371
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:2334
+#: part/views.py:2423
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2435
+#: part/views.py:2524
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2491
+#: part/views.py:2580
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2510
+#: part/views.py:2599
msgid "Create BOM Item"
msgstr ""
-#: part/views.py:2580
+#: part/views.py:2669
msgid "Edit BOM item"
msgstr ""
-#: part/views.py:2636
+#: part/views.py:2725
msgid "Confim BOM item deletion"
msgstr ""
@@ -5127,7 +5175,7 @@ msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507
-#: stock/templates/stock/item_base.html:371 templates/js/stock.js:656
+#: stock/templates/stock/item_base.html:376 templates/js/stock.js:656
msgid "Expiry Date"
msgstr ""
@@ -5277,7 +5325,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:435 stock/templates/stock/item_base.html:265
+#: stock/models.py:435 stock/templates/stock/item_base.html:270
msgid "Installed In"
msgstr ""
@@ -5412,173 +5460,173 @@ msgstr ""
msgid "Stock Item Attachments"
msgstr ""
-#: stock/templates/stock/item_base.html:24
-msgid "You are not in the list of owners of this item. This stock item cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:31
-msgid "This stock item is in production and cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:32
-msgid "Edit the stock item from the build view."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:45
-msgid "This stock item has not passed all required tests"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:53
-#, python-format
-msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:61
-#, python-format
-msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:67
-msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:71
-msgid "This stock item cannot be deleted as it has child items"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:75
-msgid "This stock item will be automatically deleted when all stock is depleted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:375 templates/js/table_filters.js:146
+#: stock/templates/stock/item_base.html:33
+#: stock/templates/stock/item_base.html:380 templates/js/table_filters.js:146
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:105
-#: stock/templates/stock/item_base.html:377 templates/js/table_filters.js:151
+#: stock/templates/stock/item_base.html:43
+#: stock/templates/stock/item_base.html:382 templates/js/table_filters.js:151
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:142 templates/js/barcode.js:309
+#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
#: templates/js/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:144
+#: stock/templates/stock/item_base.html:82
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:146 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:91
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:157
+#: stock/templates/stock/item_base.html:95
#: stock/templates/stock/item_tests.html:27
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item_base.html:166
+#: stock/templates/stock/item_base.html:104
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:170
+#: stock/templates/stock/item_base.html:108
#: stock/templates/stock/location.html:65 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:173 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:176 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:117
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:183
+#: stock/templates/stock/item_base.html:121
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:186
+#: stock/templates/stock/item_base.html:124
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:189
+#: stock/templates/stock/item_base.html:127
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:193 templates/js/stock.js:1421
+#: stock/templates/stock/item_base.html:131 templates/js/stock.js:1426
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:193
+#: stock/templates/stock/item_base.html:131
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:140
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: stock/templates/stock/item_base.html:205
+#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:146
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:148
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:213
+#: stock/templates/stock/item_base.html:151
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:225
+#: stock/templates/stock/item_base.html:171
+msgid "You are not in the list of owners of this item. This stock item cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:178
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:179
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:192
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:200
+#, python-format
+msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:208
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:214
+msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:218
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:222
+msgid "This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:230
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:284 templates/js/build.js:498
+#: stock/templates/stock/item_base.html:289 templates/js/build.js:498
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:291
+#: stock/templates/stock/item_base.html:296
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:333
+#: stock/templates/stock/item_base.html:338
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:380
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:377
+#: stock/templates/stock/item_base.html:382
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:384 templates/js/stock.js:662
+#: stock/templates/stock/item_base.html:389 templates/js/stock.js:662
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:389
+#: stock/templates/stock/item_base.html:394
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:398
msgid "No stocktake performed"
msgstr ""
@@ -6067,7 +6115,8 @@ msgstr ""
#: templates/InvenTree/settings/appearance.html:29
#, python-format
-msgid "\n"
+msgid ""
+"\n"
" The CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected color theme was not found.
\n"
" Please select another color theme :)\n"
" "
@@ -6107,11 +6156,35 @@ msgstr ""
msgid "Delete Template"
msgstr ""
+#: templates/InvenTree/settings/currencies.html:10
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
+msgstr ""
+
#: templates/InvenTree/settings/global.html:10
msgid "Global InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:27
+#: templates/InvenTree/settings/global.html:26
msgid "Barcode Settings"
msgstr ""
@@ -6190,10 +6263,14 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:25
msgid "Categories"
msgstr ""
@@ -6239,46 +6316,50 @@ msgid "Update Available"
msgstr ""
#: templates/about.html:34
+msgid "API Version"
+msgstr ""
+
+#: templates/about.html:39
msgid "Django Version"
msgstr ""
-#: templates/about.html:41
+#: templates/about.html:46
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:48
+#: templates/about.html:53
msgid "Commit Date"
msgstr ""
-#: templates/about.html:53
+#: templates/about.html:58
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:58
+#: templates/about.html:63
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:63
+#: templates/about.html:68
msgid "Credits"
msgstr ""
-#: templates/about.html:68
+#: templates/about.html:73
msgid "Mobile App"
msgstr ""
-#: templates/about.html:73
+#: templates/about.html:78
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:80 templates/clip.html:4
+#: templates/about.html:85 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:85
msgid "copy version information"
msgstr ""
-#: templates/about.html:90 templates/js/modals.js:568
+#: templates/about.html:95 templates/js/modals.js:568
#: templates/js/modals.js:846 templates/modals.html:29 templates/modals.html:54
#: templates/modals.html:97
msgid "Close"
@@ -6408,41 +6489,49 @@ msgstr ""
msgid "Open subassembly"
msgstr ""
-#: templates/js/bom.js:261
+#: templates/js/bom.js:249
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/bom.js:257
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/bom.js:277
msgid "No pricing available"
msgstr ""
-#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/bom.js:288 templates/js/filters.js:167
#: templates/js/filters.js:397
msgid "true"
msgstr ""
-#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/bom.js:289 templates/js/filters.js:171
#: templates/js/filters.js:398
msgid "false"
msgstr ""
-#: templates/js/bom.js:290 templates/js/bom.js:376
+#: templates/js/bom.js:306 templates/js/bom.js:392
msgid "View BOM"
msgstr ""
-#: templates/js/bom.js:350
+#: templates/js/bom.js:366
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/bom.js:352
+#: templates/js/bom.js:368
msgid "This line has been validated"
msgstr ""
-#: templates/js/bom.js:354
+#: templates/js/bom.js:370
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/bom.js:356
+#: templates/js/bom.js:372
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+#: templates/js/bom.js:463 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr ""
@@ -6485,7 +6574,7 @@ msgstr ""
#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
#: templates/js/stock.js:511 templates/js/stock.js:938
-#: templates/js/stock.js:1453
+#: templates/js/stock.js:1458
msgid "Select"
msgstr ""
@@ -6748,6 +6837,10 @@ msgstr ""
msgid "This test is defined for a parent part"
msgstr ""
+#: templates/js/part.js:727
+msgid "Single Price Difference"
+msgstr ""
+
#: templates/js/report.js:47
msgid "items selected"
msgstr ""
@@ -6942,55 +7035,55 @@ msgstr ""
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1036
+#: templates/js/stock.js:1041
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1055
+#: templates/js/stock.js:1060
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1074
+#: templates/js/stock.js:1079
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1097
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1115
+#: templates/js/stock.js:1120
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1123
+#: templates/js/stock.js:1128
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1155
+#: templates/js/stock.js:1160
msgid "No user information"
msgstr ""
-#: templates/js/stock.js:1167
+#: templates/js/stock.js:1172
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1168
+#: templates/js/stock.js:1173
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1292
+#: templates/js/stock.js:1297
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1391
+#: templates/js/stock.js:1396
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1484 templates/js/table_filters.js:172
+#: templates/js/stock.js:1489 templates/js/table_filters.js:172
msgid "Installed"
msgstr ""
-#: templates/js/stock.js:1509
+#: templates/js/stock.js:1514
msgid "Install item"
msgstr ""
@@ -7472,4 +7565,3 @@ msgstr ""
#: users/models.py:187
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 c897b54b5a..71294a33f5 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: 2021-05-17 10:46+0000\n"
-"PO-Revision-Date: 2021-05-17 14:58\n"
+"POT-Creation-Date: 2021-05-29 07:28+0000\n"
+"PO-Revision-Date: 2021-05-28 04:02\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -33,42 +33,42 @@ msgstr "未找到指定操作"
msgid "Enter date"
msgstr "输入日期"
-#: InvenTree/forms.py:110 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "确认"
-#: InvenTree/forms.py:126
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr "确认删除"
-#: InvenTree/forms.py:127
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:159 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr "输入密码"
-#: InvenTree/forms.py:160
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr "输入新密码"
-#: InvenTree/forms.py:167
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "确认密码"
-#: InvenTree/forms.py:168
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "确认新密码"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr "应用主题"
-#: InvenTree/forms.py:233
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr "选择分类"
@@ -122,9 +122,9 @@ msgstr "注释"
msgid "File comment"
msgstr "文件注释"
-#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1946
+#: InvenTree/models.py:68 InvenTree/models.py:69 part/models.py:1999
#: report/templates/report/inventree_test_report_base.html:91
-#: templates/js/stock.js:1146
+#: templates/js/stock.js:1151
msgid "User"
msgstr "用户"
@@ -133,7 +133,7 @@ msgid "upload date"
msgstr "上传日期"
#: InvenTree/models.py:107 InvenTree/models.py:108 label/models.py:102
-#: part/models.py:686 part/models.py:2087 part/templates/part/params.html:27
+#: part/models.py:686 part/models.py:2140 part/templates/part/params.html:27
#: report/models.py:179 templates/InvenTree/search.html:137
#: templates/InvenTree/search.html:289 templates/js/part.js:110
#: templates/js/part.js:553 templates/js/stock.js:944
@@ -171,23 +171,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -232,7 +232,7 @@ msgid "Returned"
msgstr ""
#: InvenTree/status_codes.py:146
-#: order/templates/order/sales_order_base.html:124
+#: order/templates/order/sales_order_base.html:126
msgid "Shipped"
msgstr ""
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:587
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:636
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:651 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:662 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:681
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:887 templates/navbar.html:95
+#: InvenTree/views.py:937 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -444,10 +444,10 @@ msgstr ""
msgid "Order target date"
msgstr ""
-#: build/forms.py:42 build/templates/build/build_base.html:136
+#: build/forms.py:42 build/templates/build/build_base.html:146
#: build/templates/build/detail.html:121 order/forms.py:109 order/forms.py:144
#: order/templates/order/order_base.html:124
-#: order/templates/order/sales_order_base.html:117
+#: order/templates/order/sales_order_base.html:119
#: report/templates/report/inventree_build_order_base.html:126
#: templates/js/build.js:783 templates/js/order.js:200
#: templates/js/order.js:298
@@ -461,8 +461,8 @@ msgstr ""
#: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1245
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
-#: build/templates/build/build_base.html:123
-#: build/templates/build/detail.html:31 common/models.py:705
+#: build/templates/build/build_base.html:133
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -473,20 +473,22 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:77
#: order/templates/order/sales_order_detail.html:162
#: order/templates/order/sales_order_detail.html:230 part/forms.py:342
-#: part/forms.py:371 part/forms.py:387 part/models.py:2216
+#: part/forms.py:371 part/forms.py:387 part/models.py:2269
#: part/templates/part/allocation.html:19
#: part/templates/part/allocation.html:53
-#: part/templates/part/part_pricing.html:13
+#: part/templates/part/order_prices.html:175
+#: part/templates/part/part_pricing.html:12
#: part/templates/part/sale_prices.html:85
#: report/templates/report/inventree_build_order_base.html:114
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:77
#: stock/forms.py:175 stock/forms.py:308
-#: stock/templates/stock/item_base.html:250
+#: stock/templates/stock/item_base.html:255
#: stock/templates/stock/stock_adjust.html:18 templates/js/barcode.js:364
#: templates/js/bom.js:205 templates/js/build.js:476 templates/js/build.js:1014
-#: templates/js/stock.js:1131 templates/js/stock.js:1393
+#: templates/js/part.js:717 templates/js/stock.js:1136
+#: templates/js/stock.js:1398
msgid "Quantity"
msgstr ""
@@ -528,11 +530,11 @@ msgstr ""
#: build/forms.py:210 build/templates/build/auto_allocate.html:18
#: order/forms.py:82 stock/forms.py:347
-#: stock/templates/stock/item_base.html:280
+#: stock/templates/stock/item_base.html:285
#: stock/templates/stock/stock_adjust.html:17
#: templates/InvenTree/search.html:260 templates/js/barcode.js:363
#: templates/js/barcode.js:531 templates/js/build.js:490
-#: templates/js/stock.js:641 templates/js/stock.js:1023
+#: templates/js/stock.js:641 templates/js/stock.js:1028
msgid "Location"
msgstr ""
@@ -540,14 +542,14 @@ msgstr ""
msgid "Location of completed parts"
msgstr ""
-#: build/forms.py:215 build/templates/build/build_base.html:128
+#: build/forms.py:215 build/templates/build/build_base.html:138
#: build/templates/build/detail.html:59 order/models.py:466
#: order/templates/order/receive_parts.html:24
-#: stock/templates/stock/item_base.html:398 templates/InvenTree/search.html:252
+#: stock/templates/stock/item_base.html:403 templates/InvenTree/search.html:252
#: templates/js/barcode.js:119 templates/js/build.js:770
#: templates/js/order.js:187 templates/js/order.js:285
-#: templates/js/stock.js:628 templates/js/stock.js:1100
-#: templates/js/stock.js:1401
+#: templates/js/stock.js:628 templates/js/stock.js:1105
+#: templates/js/stock.js:1406
msgid "Status"
msgstr ""
@@ -580,7 +582,7 @@ msgid "Select quantity of stock to allocate"
msgstr ""
#: build/models.py:65 build/templates/build/build_base.html:9
-#: build/templates/build/build_base.html:63
+#: build/templates/build/build_base.html:73
#: part/templates/part/allocation.html:23
#: report/templates/report/inventree_build_order_base.html:106
msgid "Build Order"
@@ -592,7 +594,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -602,7 +604,7 @@ msgstr ""
#: build/models.py:127 order/models.py:99 order/models.py:616
#: order/templates/order/purchase_order_detail.html:170
-#: order/templates/order/sales_order_detail.html:225 part/models.py:2225
+#: order/templates/order/sales_order_detail.html:225 part/models.py:2278
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:92 templates/js/bom.js:197
#: templates/js/build.js:565 templates/js/build.js:1008
@@ -613,7 +615,7 @@ msgstr ""
msgid "Brief description of the build"
msgstr ""
-#: build/models.py:146 build/templates/build/build_base.html:153
+#: build/models.py:146 build/templates/build/build_base.html:163
#: build/templates/build/detail.html:77
msgid "Parent Build"
msgstr ""
@@ -623,17 +625,17 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:152 build/templates/build/auto_allocate.html:16
-#: build/templates/build/build_base.html:118
+#: build/templates/build/build_base.html:128
#: build/templates/build/detail.html:26 company/models.py:622
#: order/models.py:658 order/models.py:691
#: order/templates/order/order_wizard/select_parts.html:30
#: order/templates/order/purchase_order_detail.html:131
#: order/templates/order/receive_parts.html:19
#: order/templates/order/sales_order_detail.html:213 part/models.py:321
-#: part/models.py:1914 part/models.py:1926 part/models.py:1944
-#: part/models.py:2019 part/models.py:2115 part/models.py:2200
+#: part/models.py:1967 part/models.py:1979 part/models.py:1997
+#: part/models.py:2072 part/models.py:2168 part/models.py:2253
#: part/templates/part/part_app_base.html:8
-#: part/templates/part/part_pricing.html:9 part/templates/part/related.html:29
+#: part/templates/part/part_pricing.html:8 part/templates/part/related.html:29
#: part/templates/part/set_category.html:13
#: report/templates/report/inventree_build_order_base.html:110
#: report/templates/report/inventree_po_report.html:90
@@ -643,7 +645,7 @@ msgstr ""
#: templates/js/build.js:741 templates/js/build.js:981
#: templates/js/company.js:140 templates/js/company.js:238
#: templates/js/part.js:233 templates/js/part.js:338 templates/js/stock.js:523
-#: templates/js/stock.js:1465
+#: templates/js/stock.js:1470
msgid "Part"
msgstr ""
@@ -691,7 +693,7 @@ msgstr ""
msgid "Number of stock items which have been completed"
msgstr ""
-#: build/models.py:204 part/templates/part/part_base.html:160
+#: build/models.py:204 part/templates/part/part_base.html:167
msgid "Build Status"
msgstr ""
@@ -732,10 +734,10 @@ msgstr ""
msgid "User who issued this build order"
msgstr ""
-#: build/models.py:250 build/templates/build/build_base.html:174
+#: build/models.py:250 build/templates/build/build_base.html:184
#: build/templates/build/detail.html:105 order/models.py:119
#: order/templates/order/order_base.html:138
-#: order/templates/order/sales_order_base.html:138 part/models.py:886
+#: order/templates/order/sales_order_base.html:140 part/models.py:886
#: report/templates/report/inventree_build_order_base.html:159
msgid "Responsible"
msgstr ""
@@ -749,8 +751,8 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:28
#: company/templates/company/supplier_part_base.html:78
#: company/templates/company/supplier_part_detail.html:28
-#: part/templates/part/detail.html:83 part/templates/part/part_base.html:101
-#: stock/models.py:458 stock/templates/stock/item_base.html:340
+#: part/templates/part/detail.html:83 part/templates/part/part_base.html:94
+#: stock/models.py:458 stock/templates/stock/item_base.html:345
msgid "External Link"
msgstr ""
@@ -768,12 +770,12 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:278
#: order/templates/order/so_navbar.html:33
#: order/templates/order/so_navbar.html:36 part/models.py:871
-#: part/templates/part/navbar.html:128
+#: part/templates/part/navbar.html:134
#: report/templates/report/inventree_build_order_base.html:173
#: stock/forms.py:173 stock/forms.py:317 stock/forms.py:349 stock/forms.py:377
#: stock/models.py:530 stock/models.py:1665 stock/models.py:1767
#: stock/templates/stock/navbar.html:57 templates/js/barcode.js:37
-#: templates/js/bom.js:333 templates/js/stock.js:128 templates/js/stock.js:671
+#: templates/js/bom.js:349 templates/js/stock.js:128 templates/js/stock.js:671
msgid "Notes"
msgstr ""
@@ -823,7 +825,7 @@ msgstr ""
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1224 stock/templates/stock/item_base.html:312
+#: build/models.py:1224 stock/templates/stock/item_base.html:317
#: templates/InvenTree/search.html:183 templates/js/build.js:714
#: templates/navbar.html:29
msgid "Build"
@@ -838,10 +840,10 @@ msgstr ""
#: part/templates/part/allocation.html:31
#: part/templates/part/allocation.html:49
#: stock/templates/stock/item_base.html:8
-#: stock/templates/stock/item_base.html:93
-#: stock/templates/stock/item_base.html:334
+#: stock/templates/stock/item_base.html:31
+#: stock/templates/stock/item_base.html:339
#: stock/templates/stock/stock_adjust.html:16 templates/js/build.js:831
-#: templates/js/stock.js:1082 templates/js/stock.js:1384
+#: templates/js/stock.js:1087 templates/js/stock.js:1389
msgid "Stock Item"
msgstr ""
@@ -913,7 +915,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: order/templates/order/sales_order_detail.html:160
#: report/templates/report/inventree_test_report_base.html:75
-#: stock/models.py:452 stock/templates/stock/item_base.html:244
+#: stock/models.py:452 stock/templates/stock/item_base.html:249
#: templates/js/build.js:474
msgid "Serial Number"
msgstr ""
@@ -921,8 +923,8 @@ msgstr ""
#: build/templates/build/attachments.html:12
#: build/templates/build/navbar.html:43 build/templates/build/navbar.html:46
#: order/templates/order/po_navbar.html:26
-#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:119
-#: part/templates/part/navbar.html:122 stock/templates/stock/navbar.html:47
+#: order/templates/order/so_navbar.html:29 part/templates/part/navbar.html:125
+#: part/templates/part/navbar.html:128 stock/templates/stock/navbar.html:47
#: stock/templates/stock/navbar.html:50
msgid "Attachments"
msgstr ""
@@ -943,119 +945,119 @@ msgstr ""
msgid "Stock items will have to be manually allocated"
msgstr ""
-#: build/templates/build/build_base.html:16
+#: build/templates/build/build_base.html:18
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:22
+#: build/templates/build/build_base.html:25
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
msgstr ""
-#: build/templates/build/build_base.html:31
+#: build/templates/build/build_base.html:32
msgid "Build Order is ready to mark as completed"
msgstr ""
-#: build/templates/build/build_base.html:36
+#: build/templates/build/build_base.html:37
msgid "Build Order cannot be completed as outstanding outputs remain"
msgstr ""
-#: build/templates/build/build_base.html:41
+#: build/templates/build/build_base.html:42
msgid "Required build quantity has not yet been completed"
msgstr ""
-#: build/templates/build/build_base.html:46
+#: build/templates/build/build_base.html:47
msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
-#: build/templates/build/build_base.html:65
+#: build/templates/build/build_base.html:75
#: company/templates/company/company_base.html:40
#: company/templates/company/manufacturer_part_base.html:25
#: company/templates/company/supplier_part_base.html:26
#: order/templates/order/order_base.html:26
-#: order/templates/order/sales_order_base.html:35
-#: part/templates/part/category.html:18 part/templates/part/part_base.html:29
-#: stock/templates/stock/item_base.html:124
+#: order/templates/order/sales_order_base.html:37
+#: part/templates/part/category.html:18 part/templates/part/part_base.html:22
+#: stock/templates/stock/item_base.html:62
#: stock/templates/stock/location.html:31
msgid "Admin view"
msgstr ""
-#: build/templates/build/build_base.html:71
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:81
+#: build/templates/build/build_base.html:150
#: order/templates/order/order_base.html:32
#: order/templates/order/order_base.html:86
-#: order/templates/order/sales_order_base.html:41
-#: order/templates/order/sales_order_base.html:86
+#: order/templates/order/sales_order_base.html:43
+#: order/templates/order/sales_order_base.html:88
#: templates/js/table_filters.js:241 templates/js/table_filters.js:260
#: templates/js/table_filters.js:277
msgid "Overdue"
msgstr ""
-#: build/templates/build/build_base.html:80
+#: build/templates/build/build_base.html:90
msgid "Print actions"
msgstr ""
-#: build/templates/build/build_base.html:84
+#: build/templates/build/build_base.html:94
msgid "Print Build Order"
msgstr ""
-#: build/templates/build/build_base.html:90
-#: build/templates/build/build_base.html:215
+#: build/templates/build/build_base.html:100
+#: build/templates/build/build_base.html:225
msgid "Complete Build"
msgstr ""
-#: build/templates/build/build_base.html:95
+#: build/templates/build/build_base.html:105
msgid "Build actions"
msgstr ""
-#: build/templates/build/build_base.html:99
+#: build/templates/build/build_base.html:109
msgid "Edit Build"
msgstr ""
-#: build/templates/build/build_base.html:101
-#: build/templates/build/build_base.html:199 build/views.py:57
+#: build/templates/build/build_base.html:111
+#: build/templates/build/build_base.html:209 build/views.py:57
msgid "Cancel Build"
msgstr ""
-#: build/templates/build/build_base.html:114
+#: build/templates/build/build_base.html:124
#: build/templates/build/detail.html:11
msgid "Build Details"
msgstr ""
-#: build/templates/build/build_base.html:140
+#: build/templates/build/build_base.html:150
#, python-format
msgid "This build was due on %(target)s"
msgstr ""
-#: build/templates/build/build_base.html:147
+#: build/templates/build/build_base.html:157
#: build/templates/build/detail.html:64
msgid "Progress"
msgstr ""
-#: build/templates/build/build_base.html:160
+#: build/templates/build/build_base.html:170
#: build/templates/build/detail.html:84 order/models.py:689
#: order/templates/order/sales_order_base.html:9
-#: order/templates/order/sales_order_base.html:33
+#: order/templates/order/sales_order_base.html:35
#: order/templates/order/sales_order_ship.html:25
#: part/templates/part/allocation.html:30
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
-#: stock/templates/stock/item_base.html:274 templates/js/order.js:245
+#: stock/templates/stock/item_base.html:279 templates/js/order.js:245
msgid "Sales Order"
msgstr ""
-#: build/templates/build/build_base.html:167
+#: build/templates/build/build_base.html:177
#: build/templates/build/detail.html:98
#: report/templates/report/inventree_build_order_base.html:153
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:207
+#: build/templates/build/build_base.html:217
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:208
+#: build/templates/build/build_base.html:218
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
@@ -1191,15 +1193,15 @@ msgid "Destination location not specified"
msgstr ""
#: build/templates/build/detail.html:70
-#: stock/templates/stock/item_base.html:298 templates/js/stock.js:636
-#: templates/js/stock.js:1408 templates/js/table_filters.js:108
+#: stock/templates/stock/item_base.html:303 templates/js/stock.js:636
+#: templates/js/stock.js:1413 templates/js/table_filters.js:108
#: templates/js/table_filters.js:202
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:116
#: order/templates/order/order_base.html:111
-#: order/templates/order/sales_order_base.html:111 templates/js/build.js:778
+#: order/templates/order/sales_order_base.html:113 templates/js/build.js:778
msgid "Created"
msgstr ""
@@ -1282,8 +1284,8 @@ msgstr ""
#: build/templates/build/notes.html:26 company/templates/company/notes.html:24
#: order/templates/order/order_notes.html:27
#: order/templates/order/sales_order_notes.html:29
-#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:477
-#: stock/templates/stock/item_base.html:487
+#: part/templates/part/notes.html:27 stock/templates/stock/item_base.html:482
+#: stock/templates/stock/item_base.html:492
#: stock/templates/stock/item_notes.html:26
msgid "Save"
msgstr ""
@@ -1429,7 +1431,7 @@ msgstr ""
msgid "Add Build Order Attachment"
msgstr ""
-#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:172
+#: build/views.py:1083 order/views.py:115 order/views.py:167 part/views.py:173
#: stock/views.py:277
msgid "Added attachment"
msgstr ""
@@ -1466,368 +1468,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:38 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:39
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:55
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
msgid "Download from URL"
msgstr ""
-#: common/models.py:92
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:98
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:99
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:105
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:106
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:110
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:111
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:124
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:125
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:146
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:153
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:159 part/models.py:2117 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:160
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:166 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:167
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:173 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:174
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:180 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:181
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:187 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:194 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:201 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:202
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:208
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:209
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:215 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:216
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:222
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:223
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:233
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:234
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:241
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:247
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:248
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:254
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:255
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:257 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:262
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:263
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:269
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:270
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:276
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:277
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:283
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:284
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:290
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:291
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:296
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:297
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:301
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:302
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:307
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:308
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:531
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:533
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:568
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:591
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:602
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:625
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:706 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:714 company/templates/company/supplier_part_pricing.html:82
-#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
+#: part/templates/part/sale_prices.html:90 templates/js/bom.js:271
msgid "Price"
msgstr ""
-#: common/models.py:715
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:804
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -1882,7 +1876,7 @@ msgstr ""
msgid "Image URL"
msgstr ""
-#: company/forms.py:118
+#: company/forms.py:118 templates/js/part.js:708
msgid "Single Price"
msgstr ""
@@ -1998,7 +1992,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:305 company/models.py:456 stock/models.py:405
-#: stock/templates/stock/item_base.html:230
+#: stock/templates/stock/item_base.html:235
msgid "Base Part"
msgstr ""
@@ -2011,7 +2005,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_detail.html:25
#: company/templates/company/supplier_part_base.html:94
#: company/templates/company/supplier_part_detail.html:34 part/bom.py:170
-#: part/bom.py:241 stock/templates/stock/item_base.html:347
+#: part/bom.py:241 stock/templates/stock/item_base.html:352
#: templates/js/company.js:44 templates/js/company.js:165
#: templates/js/company.js:289
msgid "Manufacturer"
@@ -2030,7 +2024,7 @@ msgstr ""
#: company/templates/company/supplier_part_detail.html:25 order/models.py:190
#: order/templates/order/order_base.html:92
#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175
-#: part/bom.py:286 stock/templates/stock/item_base.html:359
+#: part/bom.py:286 stock/templates/stock/item_base.html:364
#: templates/js/company.js:48 templates/js/company.js:263
#: templates/js/order.js:170
msgid "Supplier"
@@ -2054,7 +2048,7 @@ msgstr ""
#: company/models.py:479
#: company/templates/company/manufacturer_part_base.html:6
#: company/templates/company/manufacturer_part_base.html:19
-#: stock/templates/stock/item_base.html:352
+#: stock/templates/stock/item_base.html:357
msgid "Manufacturer Part"
msgstr ""
@@ -2071,7 +2065,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:497 company/templates/company/supplier_part_base.html:116
-#: company/templates/company/supplier_part_detail.html:38 part/models.py:2228
+#: company/templates/company/supplier_part_detail.html:38 part/models.py:2281
#: report/templates/report/inventree_po_report.html:93
#: report/templates/report/inventree_so_report.html:93
msgid "Note"
@@ -2086,7 +2080,7 @@ msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:503 company/templates/company/supplier_part_base.html:109
-#: stock/models.py:429 stock/templates/stock/item_base.html:305
+#: stock/models.py:429 stock/templates/stock/item_base.html:310
#: templates/js/stock.js:667
msgid "Packaging"
msgstr ""
@@ -2154,7 +2148,8 @@ msgstr ""
#: company/templates/company/delete.html:12
#, python-format
-msgid "There are %(count)s parts sourced from this company.
\n"
+msgid ""
+"There are %(count)s parts sourced from this company.
\n"
"If this supplier is deleted, these supplier part entries will also be deleted."
msgstr ""
@@ -2171,10 +2166,10 @@ msgid "Uses default currency"
msgstr ""
#: company/templates/company/detail.html:67 order/models.py:461
-#: order/templates/order/sales_order_base.html:92 stock/models.py:447
-#: stock/models.py:448 stock/templates/stock/item_base.html:257
+#: order/templates/order/sales_order_base.html:94 stock/models.py:447
+#: stock/models.py:448 stock/templates/stock/item_base.html:262
#: templates/js/company.js:40 templates/js/order.js:267
-#: templates/js/stock.js:1064
+#: templates/js/stock.js:1069
msgid "Customer"
msgstr ""
@@ -2220,7 +2215,7 @@ msgstr ""
#: company/templates/company/detail_manufacturer_part.html:66
#: company/templates/company/detail_supplier_part.html:66
#: part/templates/part/bom.html:159 part/templates/part/category.html:118
-#: templates/js/stock.js:1279
+#: templates/js/stock.js:1284
msgid "New Part"
msgstr ""
@@ -2267,7 +2262,7 @@ msgstr ""
#: company/templates/company/detail_supplier_part.html:22
#: company/templates/company/manufacturer_part_suppliers.html:17
#: order/templates/order/purchase_order_detail.html:49
-#: part/templates/part/supplier.html:17 templates/js/stock.js:1285
+#: part/templates/part/supplier.html:17 templates/js/stock.js:1290
msgid "New Supplier Part"
msgstr ""
@@ -2290,7 +2285,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_base.html:36
#: company/templates/company/supplier_part_base.html:36
#: company/templates/company/supplier_part_orders.html:17
-#: part/templates/part/orders.html:17 part/templates/part/part_base.html:65
+#: part/templates/part/orders.html:17 part/templates/part/part_base.html:58
msgid "Order part"
msgstr ""
@@ -2324,8 +2319,8 @@ msgid "There are %(count)s suppliers defined for this manufacturer part. If you
msgstr ""
#: company/templates/company/manufacturer_part_navbar.html:14
-#: company/views.py:63 part/templates/part/navbar.html:78
-#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:316
+#: company/views.py:63 part/templates/part/navbar.html:84
+#: part/templates/part/navbar.html:87 templates/InvenTree/search.html:316
#: templates/navbar.html:35
msgid "Suppliers"
msgstr ""
@@ -2342,7 +2337,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2400,10 +2395,10 @@ msgstr ""
#: company/templates/company/sales_orders.html:11
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:13
-#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
+#: part/templates/part/navbar.html:104 part/templates/part/navbar.html:107
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2412,10 +2407,10 @@ msgstr ""
#: company/templates/company/purchase_orders.html:10
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:13
-#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
+#: part/templates/part/navbar.html:90 part/templates/part/navbar.html:93
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -2446,7 +2441,7 @@ msgstr ""
#: company/templates/company/supplier_part_base.html:7
#: company/templates/company/supplier_part_base.html:20 stock/models.py:414
-#: stock/templates/stock/item_base.html:364 templates/js/company.js:279
+#: stock/templates/stock/item_base.html:369 templates/js/company.js:279
msgid "Supplier Part"
msgstr ""
@@ -2495,7 +2490,7 @@ msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part_pricing.html:19 company/views.py:794
-#: part/templates/part/sale_prices.html:17 part/views.py:2644
+#: part/templates/part/sale_prices.html:17 part/views.py:2733
msgid "Add Price Break"
msgstr ""
@@ -2514,8 +2509,8 @@ msgstr ""
msgid "Delete price break"
msgstr ""
-#: company/views.py:70 part/templates/part/navbar.html:72
-#: part/templates/part/navbar.html:75 templates/InvenTree/search.html:306
+#: company/views.py:70 part/templates/part/navbar.html:78
+#: part/templates/part/navbar.html:81 templates/InvenTree/search.html:306
#: templates/navbar.html:36
msgid "Manufacturers"
msgstr ""
@@ -2537,20 +2532,20 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: company/views.py:169 part/views.py:848
+#: company/views.py:169 part/views.py:937
msgid "Download Image"
msgstr ""
-#: company/views.py:198 part/views.py:880
+#: company/views.py:198 part/views.py:969
msgid "Image size exceeds maximum allowable size for download"
msgstr ""
-#: company/views.py:205 part/views.py:887
+#: company/views.py:205 part/views.py:976
#, python-brace-format
msgid "Invalid response: {code}"
msgstr ""
-#: company/views.py:214 part/views.py:896
+#: company/views.py:214 part/views.py:985
msgid "Supplied URL is not a valid image file"
msgstr ""
@@ -2602,7 +2597,7 @@ msgstr ""
msgid "Edit Supplier Part"
msgstr ""
-#: company/views.py:578 templates/js/stock.js:1286
+#: company/views.py:578 templates/js/stock.js:1291
msgid "Create new Supplier Part"
msgstr ""
@@ -2610,15 +2605,15 @@ msgstr ""
msgid "Delete Supplier Part"
msgstr ""
-#: company/views.py:799 part/views.py:2648
+#: company/views.py:799 part/views.py:2737
msgid "Added new price break"
msgstr ""
-#: company/views.py:855 part/views.py:2692
+#: company/views.py:855 part/views.py:2781
msgid "Edit Price Break"
msgstr ""
-#: company/views.py:870 part/views.py:2706
+#: company/views.py:870 part/views.py:2795
msgid "Delete Price Break"
msgstr ""
@@ -2692,11 +2687,11 @@ msgid "Mark order as complete"
msgstr ""
#: order/forms.py:49 order/forms.py:60 order/templates/order/order_base.html:59
-#: order/templates/order/sales_order_base.html:59
+#: order/templates/order/sales_order_base.html:61
msgid "Cancel order"
msgstr ""
-#: order/forms.py:71 order/templates/order/sales_order_base.html:56
+#: order/forms.py:71 order/templates/order/sales_order_base.html:58
msgid "Ship order"
msgstr ""
@@ -2793,7 +2788,7 @@ msgstr ""
msgid "Date order was completed"
msgstr ""
-#: order/models.py:243 part/views.py:1586 stock/models.py:302
+#: order/models.py:243 part/views.py:1675 stock/models.py:302
#: stock/models.py:1018
msgid "Quantity must be greater than zero"
msgstr ""
@@ -2859,8 +2854,8 @@ msgstr ""
#: order/models.py:645 order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:24
#: report/templates/report/inventree_po_report.html:77
-#: stock/templates/stock/item_base.html:319 templates/js/order.js:148
-#: templates/js/stock.js:1045
+#: stock/templates/stock/item_base.html:324 templates/js/order.js:148
+#: templates/js/stock.js:1050
msgid "Purchase Order"
msgstr ""
@@ -2871,7 +2866,7 @@ msgstr ""
#: order/models.py:662 order/templates/order/order_base.html:131
#: order/templates/order/purchase_order_detail.html:189
#: order/templates/order/receive_parts.html:22
-#: order/templates/order/sales_order_base.html:131
+#: order/templates/order/sales_order_base.html:133
msgid "Received"
msgstr ""
@@ -2880,7 +2875,7 @@ msgid "Number of items received"
msgstr ""
#: order/models.py:669 stock/models.py:540
-#: stock/templates/stock/item_base.html:326
+#: stock/templates/stock/item_base.html:331
msgid "Purchase Price"
msgstr ""
@@ -2888,8 +2883,9 @@ msgstr ""
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:698 part/templates/part/navbar.html:95
-#: part/templates/part/part_pricing.html:78
+#: order/models.py:698 part/templates/part/navbar.html:101
+#: part/templates/part/order_prices.html:82
+#: part/templates/part/part_pricing.html:77
msgid "Sale Price"
msgstr ""
@@ -2940,12 +2936,12 @@ msgid "Are you sure you want to delete this attachment?"
msgstr ""
#: order/templates/order/order_base.html:39
-#: order/templates/order/sales_order_base.html:48
+#: order/templates/order/sales_order_base.html:50
msgid "Print"
msgstr ""
#: order/templates/order/order_base.html:43
-#: order/templates/order/sales_order_base.html:52
+#: order/templates/order/sales_order_base.html:54
msgid "Edit order information"
msgstr ""
@@ -2963,12 +2959,12 @@ msgid "Purchase Order Details"
msgstr ""
#: order/templates/order/order_base.html:77
-#: order/templates/order/sales_order_base.html:77
+#: order/templates/order/sales_order_base.html:79
msgid "Order Reference"
msgstr ""
#: order/templates/order/order_base.html:82
-#: order/templates/order/sales_order_base.html:82
+#: order/templates/order/sales_order_base.html:84
msgid "Order Status"
msgstr ""
@@ -2981,7 +2977,7 @@ msgstr ""
#: order/templates/order/purchase_order_detail.html:100
#: part/templates/part/category.html:185 part/templates/part/category.html:227
#: stock/templates/stock/location.html:191 templates/js/stock.js:708
-#: templates/js/stock.js:1291
+#: templates/js/stock.js:1296
msgid "New Location"
msgstr ""
@@ -3193,14 +3189,14 @@ msgstr ""
msgid "Receive outstanding parts for %(order)s - %(desc)s"
msgstr ""
-#: order/templates/order/receive_parts.html:14 part/api.py:40
+#: order/templates/order/receive_parts.html:14 part/api.py:45
#: part/models.py:322 part/templates/part/cat_link.html:7
#: part/templates/part/category.html:99
#: part/templates/part/category_navbar.html:22
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -3215,7 +3211,7 @@ msgid "Order Code"
msgstr ""
#: order/templates/order/receive_parts.html:21
-#: part/templates/part/part_base.html:129 templates/js/part.js:414
+#: part/templates/part/part_base.html:136 templates/js/part.js:414
msgid "On Order"
msgstr ""
@@ -3231,20 +3227,20 @@ msgstr ""
msgid "Remove line"
msgstr ""
-#: order/templates/order/sales_order_base.html:15
-msgid "This SalesOrder has not been fully allocated"
+#: order/templates/order/sales_order_base.html:16
+msgid "This Sales Order has not been fully allocated"
msgstr ""
-#: order/templates/order/sales_order_base.html:64
+#: order/templates/order/sales_order_base.html:66
msgid "Packing List"
msgstr ""
-#: order/templates/order/sales_order_base.html:72
+#: order/templates/order/sales_order_base.html:74
#: order/templates/order/so_navbar.html:12
msgid "Sales Order Details"
msgstr ""
-#: order/templates/order/sales_order_base.html:98 templates/js/order.js:275
+#: order/templates/order/sales_order_base.html:100 templates/js/order.js:275
msgid "Customer Reference"
msgstr ""
@@ -3263,7 +3259,7 @@ msgstr ""
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:342
+#: order/templates/order/sales_order_detail.html:95 templates/js/bom.js:358
#: templates/js/build.js:627 templates/js/build.js:1044
msgid "Actions"
msgstr ""
@@ -3558,7 +3554,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:139 part/templates/part/part_base.html:117
+#: part/bom.py:139 part/templates/part/part_base.html:124
msgid "Available Stock"
msgstr ""
@@ -3631,7 +3627,7 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: part/forms.py:122 part/models.py:2115
+#: part/forms.py:122 part/models.py:2168
msgid "Parent Part"
msgstr ""
@@ -3707,7 +3703,7 @@ msgstr ""
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:344 part/models.py:2209
+#: part/forms.py:344 part/models.py:2262
msgid "Sub part"
msgstr ""
@@ -3727,7 +3723,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:82 part/models.py:2161
+#: part/models.py:82 part/models.py:2214
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -3797,7 +3793,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:724 part/models.py:2160 part/templates/part/detail.html:73
+#: part/models.py:724 part/models.py:2213 part/templates/part/detail.html:73
#: part/templates/part/set_category.html:15 templates/js/part.js:385
msgid "Category"
msgstr ""
@@ -3807,7 +3803,7 @@ msgid "Part category"
msgstr ""
#: part/models.py:730 part/templates/part/detail.html:28
-#: part/templates/part/part_base.html:94 templates/js/part.js:161
+#: part/templates/part/part_base.html:87 templates/js/part.js:161
msgid "IPN"
msgstr ""
@@ -3852,7 +3848,7 @@ msgstr ""
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:828 part/models.py:2089 part/templates/part/detail.html:106
+#: part/models.py:828 part/models.py:2142 part/templates/part/detail.html:106
#: part/templates/part/params.html:29
msgid "Units"
msgstr ""
@@ -3923,167 +3919,167 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:1987
+#: part/models.py:2040
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2004
+#: part/models.py:2057
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2024 templates/js/part.js:638 templates/js/stock.js:104
+#: part/models.py:2077 templates/js/part.js:638 templates/js/stock.js:104
msgid "Test Name"
msgstr ""
-#: part/models.py:2025
+#: part/models.py:2078
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2030
+#: part/models.py:2083
msgid "Test Description"
msgstr ""
-#: part/models.py:2031
+#: part/models.py:2084
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2036 templates/js/part.js:647
+#: part/models.py:2089 templates/js/part.js:647
#: templates/js/table_filters.js:223
msgid "Required"
msgstr ""
-#: part/models.py:2037
+#: part/models.py:2090
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2042 templates/js/part.js:655
+#: part/models.py:2095 templates/js/part.js:655
msgid "Requires Value"
msgstr ""
-#: part/models.py:2043
+#: part/models.py:2096
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2048 templates/js/part.js:662
+#: part/models.py:2101 templates/js/part.js:662
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2049
+#: part/models.py:2102
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2082
+#: part/models.py:2135
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2087
+#: part/models.py:2140
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2089
+#: part/models.py:2142
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2117 part/models.py:2166 part/models.py:2167
+#: part/models.py:2170 part/models.py:2219 part/models.py:2220
#: templates/InvenTree/settings/category.html:62
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Data"
msgstr ""
-#: part/models.py:2119
+#: part/models.py:2172
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2171 templates/InvenTree/settings/category.html:67
+#: part/models.py:2224 templates/InvenTree/settings/category.html:67
msgid "Default Value"
msgstr ""
-#: part/models.py:2172
+#: part/models.py:2225
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2201
+#: part/models.py:2254
msgid "Select parent part"
msgstr ""
-#: part/models.py:2210
+#: part/models.py:2263
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2216
+#: part/models.py:2269
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2218 templates/js/bom.js:216 templates/js/bom.js:269
+#: part/models.py:2271 templates/js/bom.js:216 templates/js/bom.js:285
msgid "Optional"
msgstr ""
-#: part/models.py:2218
+#: part/models.py:2271
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2221
+#: part/models.py:2274
msgid "Overage"
msgstr ""
-#: part/models.py:2222
+#: part/models.py:2275
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2225
+#: part/models.py:2278
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2228
+#: part/models.py:2281
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "Checksum"
msgstr ""
-#: part/models.py:2230
+#: part/models.py:2283
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2234 templates/js/bom.js:279 templates/js/bom.js:286
+#: part/models.py:2287 templates/js/bom.js:295 templates/js/bom.js:302
#: templates/js/table_filters.js:51
msgid "Inherited"
msgstr ""
-#: part/models.py:2235
+#: part/models.py:2288
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2311 part/views.py:1592 part/views.py:1644
+#: part/models.py:2364 part/views.py:1681 part/views.py:1733
#: stock/models.py:292
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2320 part/models.py:2322
+#: part/models.py:2373 part/models.py:2375
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2325
+#: part/models.py:2378
msgid "BOM Item"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2495
msgid "Part 1"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Part 2"
msgstr ""
-#: part/models.py:2446
+#: part/models.py:2499
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2478
+#: part/models.py:2531
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4151,7 +4147,7 @@ msgstr ""
msgid "Validate Bill of Materials"
msgstr ""
-#: part/templates/part/bom.html:61 part/views.py:1887
+#: part/templates/part/bom.html:61 part/views.py:1976
msgid "Export Bill of Materials"
msgstr ""
@@ -4167,8 +4163,8 @@ msgstr ""
msgid "All selected BOM items will be deleted"
msgstr ""
-#: part/templates/part/bom.html:160 part/views.py:584
-#: templates/js/stock.js:1280
+#: part/templates/part/bom.html:160 part/views.py:585
+#: templates/js/stock.js:1285
msgid "Create New Part"
msgstr ""
@@ -4249,7 +4245,7 @@ msgstr ""
msgid "All parts"
msgstr ""
-#: part/templates/part/category.html:29 part/views.py:2290
+#: part/templates/part/category.html:29 part/views.py:2379
msgid "Create new part category"
msgstr ""
@@ -4367,7 +4363,7 @@ msgstr ""
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/copy_part.html:9 part/views.py:460
+#: part/templates/part/copy_part.html:9 part/views.py:461
msgid "Duplicate Part"
msgstr ""
@@ -4504,27 +4500,111 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/templates/part/navbar.html:92
+#: part/templates/part/navbar.html:72 part/templates/part/order_prices.html:12
+msgid "Order Price Information"
+msgstr ""
+
+#: part/templates/part/navbar.html:75
+msgid "Order Price"
+msgstr ""
+
+#: part/templates/part/navbar.html:98
msgid "Sales Price Information"
msgstr ""
-#: part/templates/part/navbar.html:106 part/templates/part/part_tests.html:10
+#: part/templates/part/navbar.html:112 part/templates/part/part_tests.html:10
msgid "Part Test Templates"
msgstr ""
-#: part/templates/part/navbar.html:109 stock/templates/stock/item_base.html:404
+#: part/templates/part/navbar.html:115 stock/templates/stock/item_base.html:409
msgid "Tests"
msgstr ""
-#: part/templates/part/navbar.html:113 part/templates/part/navbar.html:116
+#: part/templates/part/navbar.html:119 part/templates/part/navbar.html:122
#: part/templates/part/related.html:10
msgid "Related Parts"
msgstr ""
-#: part/templates/part/navbar.html:125 part/templates/part/notes.html:12
+#: part/templates/part/navbar.html:131 part/templates/part/notes.html:12
msgid "Part Notes"
msgstr ""
+#: part/templates/part/order_prices.html:21
+msgid "Pricing ranges"
+msgstr ""
+
+#: part/templates/part/order_prices.html:26
+#: part/templates/part/part_pricing.html:18
+msgid "Supplier Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:27
+#: part/templates/part/order_prices.html:52
+#: part/templates/part/order_prices.html:83
+#: part/templates/part/part_pricing.html:22
+#: part/templates/part/part_pricing.html:48
+#: part/templates/part/part_pricing.html:80
+msgid "Unit Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:34
+#: part/templates/part/order_prices.html:59
+#: part/templates/part/order_prices.html:88
+#: part/templates/part/part_pricing.html:28
+#: part/templates/part/part_pricing.html:54
+#: part/templates/part/part_pricing.html:84
+msgid "Total Cost"
+msgstr ""
+
+#: part/templates/part/order_prices.html:42
+#: part/templates/part/part_pricing.html:36
+msgid "No supplier pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:51
+#: part/templates/part/order_prices.html:103
+#: part/templates/part/part_pricing.html:44
+msgid "BOM Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:67
+#: part/templates/part/part_pricing.html:62
+msgid "Note: BOM pricing is incomplete for this part"
+msgstr ""
+
+#: part/templates/part/order_prices.html:74
+#: part/templates/part/part_pricing.html:69
+msgid "No BOM pricing available"
+msgstr ""
+
+#: part/templates/part/order_prices.html:97
+#: part/templates/part/part_pricing.html:93
+msgid "No pricing information is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:113
+msgid "Stock Pricing"
+msgstr ""
+
+#: part/templates/part/order_prices.html:121
+msgid "No stock pricing history is available for this part."
+msgstr ""
+
+#: part/templates/part/order_prices.html:140
+#, python-format
+msgid "Single Price - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:152
+#, python-format
+msgid "Single Price Difference - %(currency)s"
+msgstr ""
+
+#: part/templates/part/order_prices.html:163
+#, python-format
+msgid "Part Single Price - %(currency)s"
+msgstr ""
+
#: part/templates/part/params.html:17
msgid "Add new parameter"
msgstr ""
@@ -4558,126 +4638,94 @@ msgstr ""
msgid "Part List"
msgstr ""
-#: part/templates/part/part_base.html:18
-#, python-format
-msgid "This part is a variant of %(link)s"
-msgstr ""
-
-#: part/templates/part/part_base.html:33 templates/js/company.js:156
+#: part/templates/part/part_base.html:26 templates/js/company.js:156
#: templates/js/company.js:254 templates/js/part.js:76 templates/js/part.js:153
msgid "Inactive"
msgstr ""
-#: part/templates/part/part_base.html:40
+#: part/templates/part/part_base.html:33
msgid "Star this part"
msgstr ""
-#: part/templates/part/part_base.html:47
-#: stock/templates/stock/item_base.html:137
+#: part/templates/part/part_base.html:40
+#: stock/templates/stock/item_base.html:75
#: stock/templates/stock/location.html:51
msgid "Barcode actions"
msgstr ""
-#: part/templates/part/part_base.html:49
-#: stock/templates/stock/item_base.html:139
+#: part/templates/part/part_base.html:42
+#: stock/templates/stock/item_base.html:77
#: stock/templates/stock/location.html:53 templates/qr_button.html:1
msgid "Show QR Code"
msgstr ""
-#: part/templates/part/part_base.html:50
-#: stock/templates/stock/item_base.html:155
+#: part/templates/part/part_base.html:43
+#: stock/templates/stock/item_base.html:93
#: stock/templates/stock/location.html:54
msgid "Print Label"
msgstr ""
-#: part/templates/part/part_base.html:55
+#: part/templates/part/part_base.html:48
msgid "Show pricing information"
msgstr ""
-#: part/templates/part/part_base.html:59
+#: part/templates/part/part_base.html:52
msgid "Count part stock"
msgstr ""
-#: part/templates/part/part_base.html:74
+#: part/templates/part/part_base.html:67
msgid "Part actions"
msgstr ""
-#: part/templates/part/part_base.html:77
+#: part/templates/part/part_base.html:70
msgid "Duplicate part"
msgstr ""
-#: part/templates/part/part_base.html:80
+#: part/templates/part/part_base.html:73
msgid "Edit part"
msgstr ""
-#: part/templates/part/part_base.html:83
+#: part/templates/part/part_base.html:76
msgid "Delete part"
msgstr ""
-#: part/templates/part/part_base.html:123 templates/js/table_filters.js:157
+#: part/templates/part/part_base.html:107
+msgid "This is a virtual part"
+msgstr ""
+
+#: part/templates/part/part_base.html:113
+#, python-format
+msgid "This part is a variant of %(link)s"
+msgstr ""
+
+#: part/templates/part/part_base.html:130 templates/js/table_filters.js:157
msgid "In Stock"
msgstr ""
-#: part/templates/part/part_base.html:136 templates/InvenTree/index.html:131
+#: part/templates/part/part_base.html:143 templates/InvenTree/index.html:131
msgid "Required for Build Orders"
msgstr ""
-#: part/templates/part/part_base.html:143
+#: part/templates/part/part_base.html:150
msgid "Required for Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:150
+#: part/templates/part/part_base.html:157
msgid "Allocated to Orders"
msgstr ""
-#: part/templates/part/part_base.html:165 templates/js/bom.js:300
+#: part/templates/part/part_base.html:172 templates/js/bom.js:316
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:171 templates/js/part.js:418
+#: part/templates/part/part_base.html:178 templates/js/part.js:418
msgid "Building"
msgstr ""
-#: part/templates/part/part_base.html:250
+#: part/templates/part/part_base.html:257
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_pricing.html:19
-msgid "Supplier Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:23
-#: part/templates/part/part_pricing.html:49
-#: part/templates/part/part_pricing.html:81
-msgid "Unit Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:29
-#: part/templates/part/part_pricing.html:55
-#: part/templates/part/part_pricing.html:85
-msgid "Total Cost"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:37
-msgid "No supplier pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:45
-msgid "BOM Pricing"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:63
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:70
-msgid "No BOM pricing available"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:94
-msgid "No pricing information is available for this part."
-msgstr ""
-
#: part/templates/part/part_tests.html:17
msgid "Add Test Template"
msgstr ""
@@ -4787,212 +4835,212 @@ msgstr ""
msgid "Unknown database"
msgstr ""
-#: part/views.py:89
+#: part/views.py:90
msgid "Add Related Part"
msgstr ""
-#: part/views.py:144
+#: part/views.py:145
msgid "Delete Related Part"
msgstr ""
-#: part/views.py:158
+#: part/views.py:159
msgid "Add part attachment"
msgstr ""
-#: part/views.py:211 templates/attachment_table.html:32
+#: part/views.py:212 templates/attachment_table.html:32
msgid "Edit attachment"
msgstr ""
-#: part/views.py:215
+#: part/views.py:216
msgid "Part attachment updated"
msgstr ""
-#: part/views.py:230
+#: part/views.py:231
msgid "Delete Part Attachment"
msgstr ""
-#: part/views.py:238
+#: part/views.py:239
msgid "Deleted part attachment"
msgstr ""
-#: part/views.py:247
+#: part/views.py:248
msgid "Create Test Template"
msgstr ""
-#: part/views.py:274
+#: part/views.py:275
msgid "Edit Test Template"
msgstr ""
-#: part/views.py:288
+#: part/views.py:289
msgid "Delete Test Template"
msgstr ""
-#: part/views.py:295
+#: part/views.py:296
msgid "Set Part Category"
msgstr ""
-#: part/views.py:345
+#: part/views.py:346
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
-#: part/views.py:380
+#: part/views.py:381
msgid "Create Variant"
msgstr ""
-#: part/views.py:465
+#: part/views.py:466
msgid "Copied part"
msgstr ""
-#: part/views.py:519 part/views.py:657
+#: part/views.py:520 part/views.py:658
msgid "Possible matches exist - confirm creation of new part"
msgstr ""
-#: part/views.py:589
+#: part/views.py:590
msgid "Created new part"
msgstr ""
-#: part/views.py:825
+#: part/views.py:914
msgid "Part QR Code"
msgstr ""
-#: part/views.py:927
+#: part/views.py:1016
msgid "Upload Part Image"
msgstr ""
-#: part/views.py:933 part/views.py:968
+#: part/views.py:1022 part/views.py:1057
msgid "Updated part image"
msgstr ""
-#: part/views.py:942
+#: part/views.py:1031
msgid "Select Part Image"
msgstr ""
-#: part/views.py:971
+#: part/views.py:1060
msgid "Part image not found"
msgstr ""
-#: part/views.py:982
+#: part/views.py:1071
msgid "Edit Part Properties"
msgstr ""
-#: part/views.py:1017
+#: part/views.py:1106
msgid "Duplicate BOM"
msgstr ""
-#: part/views.py:1047
+#: part/views.py:1136
msgid "Confirm duplication of BOM from parent"
msgstr ""
-#: part/views.py:1068
+#: part/views.py:1157
msgid "Validate BOM"
msgstr ""
-#: part/views.py:1089
+#: part/views.py:1178
msgid "Confirm that the BOM is valid"
msgstr ""
-#: part/views.py:1100
+#: part/views.py:1189
msgid "Validated Bill of Materials"
msgstr ""
-#: part/views.py:1234
+#: part/views.py:1323
msgid "No BOM file provided"
msgstr ""
-#: part/views.py:1595
+#: part/views.py:1684
msgid "Enter a valid quantity"
msgstr ""
-#: part/views.py:1620 part/views.py:1623
+#: part/views.py:1709 part/views.py:1712
msgid "Select valid part"
msgstr ""
-#: part/views.py:1629
+#: part/views.py:1718
msgid "Duplicate part selected"
msgstr ""
-#: part/views.py:1667
+#: part/views.py:1756
msgid "Select a part"
msgstr ""
-#: part/views.py:1673
+#: part/views.py:1762
msgid "Selected part creates a circular BOM"
msgstr ""
-#: part/views.py:1677
+#: part/views.py:1766
msgid "Specify quantity"
msgstr ""
-#: part/views.py:1939
+#: part/views.py:2028
msgid "Confirm Part Deletion"
msgstr ""
-#: part/views.py:1946
+#: part/views.py:2035
msgid "Part was deleted"
msgstr ""
-#: part/views.py:1955
+#: part/views.py:2044
msgid "Part Pricing"
msgstr ""
-#: part/views.py:2089
+#: part/views.py:2178
msgid "Create Part Parameter Template"
msgstr ""
-#: part/views.py:2099
+#: part/views.py:2188
msgid "Edit Part Parameter Template"
msgstr ""
-#: part/views.py:2106
+#: part/views.py:2195
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:2114
+#: part/views.py:2203
msgid "Create Part Parameter"
msgstr ""
-#: part/views.py:2164
+#: part/views.py:2253
msgid "Edit Part Parameter"
msgstr ""
-#: part/views.py:2178
+#: part/views.py:2267
msgid "Delete Part Parameter"
msgstr ""
-#: part/views.py:2238
+#: part/views.py:2327
msgid "Edit Part Category"
msgstr ""
-#: part/views.py:2276
+#: part/views.py:2365
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:2282
+#: part/views.py:2371
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:2334
+#: part/views.py:2423
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:2435
+#: part/views.py:2524
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:2491
+#: part/views.py:2580
msgid "Delete Category Parameter Template"
msgstr ""
-#: part/views.py:2510
+#: part/views.py:2599
msgid "Create BOM Item"
msgstr ""
-#: part/views.py:2580
+#: part/views.py:2669
msgid "Edit BOM item"
msgstr ""
-#: part/views.py:2636
+#: part/views.py:2725
msgid "Confim BOM item deletion"
msgstr ""
@@ -5127,7 +5175,7 @@ msgid "Moved {n} parts to {loc}"
msgstr ""
#: stock/forms.py:114 stock/forms.py:418 stock/models.py:507
-#: stock/templates/stock/item_base.html:371 templates/js/stock.js:656
+#: stock/templates/stock/item_base.html:376 templates/js/stock.js:656
msgid "Expiry Date"
msgstr ""
@@ -5277,7 +5325,7 @@ msgstr ""
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:435 stock/templates/stock/item_base.html:265
+#: stock/models.py:435 stock/templates/stock/item_base.html:270
msgid "Installed In"
msgstr ""
@@ -5412,173 +5460,173 @@ msgstr ""
msgid "Stock Item Attachments"
msgstr ""
-#: stock/templates/stock/item_base.html:24
-msgid "You are not in the list of owners of this item. This stock item cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:31
-msgid "This stock item is in production and cannot be edited."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:32
-msgid "Edit the stock item from the build view."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:45
-msgid "This stock item has not passed all required tests"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:53
-#, python-format
-msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:61
-#, python-format
-msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:67
-msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:71
-msgid "This stock item cannot be deleted as it has child items"
-msgstr ""
-
-#: stock/templates/stock/item_base.html:75
-msgid "This stock item will be automatically deleted when all stock is depleted."
-msgstr ""
-
-#: stock/templates/stock/item_base.html:95
-#: stock/templates/stock/item_base.html:375 templates/js/table_filters.js:146
+#: stock/templates/stock/item_base.html:33
+#: stock/templates/stock/item_base.html:380 templates/js/table_filters.js:146
msgid "Expired"
msgstr ""
-#: stock/templates/stock/item_base.html:105
-#: stock/templates/stock/item_base.html:377 templates/js/table_filters.js:151
+#: stock/templates/stock/item_base.html:43
+#: stock/templates/stock/item_base.html:382 templates/js/table_filters.js:151
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:142 templates/js/barcode.js:309
+#: stock/templates/stock/item_base.html:80 templates/js/barcode.js:309
#: templates/js/barcode.js:314
msgid "Unlink Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:144
+#: stock/templates/stock/item_base.html:82
msgid "Link Barcode"
msgstr ""
-#: stock/templates/stock/item_base.html:146 templates/stock_table.html:31
+#: stock/templates/stock/item_base.html:84 templates/stock_table.html:31
msgid "Scan to Location"
msgstr ""
-#: stock/templates/stock/item_base.html:153
+#: stock/templates/stock/item_base.html:91
msgid "Printing actions"
msgstr ""
-#: stock/templates/stock/item_base.html:157
+#: stock/templates/stock/item_base.html:95
#: stock/templates/stock/item_tests.html:27
msgid "Test Report"
msgstr ""
-#: stock/templates/stock/item_base.html:166
+#: stock/templates/stock/item_base.html:104
msgid "Stock adjustment actions"
msgstr ""
-#: stock/templates/stock/item_base.html:170
+#: stock/templates/stock/item_base.html:108
#: stock/templates/stock/location.html:65 templates/stock_table.html:57
msgid "Count stock"
msgstr ""
-#: stock/templates/stock/item_base.html:173 templates/stock_table.html:55
+#: stock/templates/stock/item_base.html:111 templates/stock_table.html:55
msgid "Add stock"
msgstr ""
-#: stock/templates/stock/item_base.html:176 templates/stock_table.html:56
+#: stock/templates/stock/item_base.html:114 templates/stock_table.html:56
msgid "Remove stock"
msgstr ""
-#: stock/templates/stock/item_base.html:179
+#: stock/templates/stock/item_base.html:117
msgid "Serialize stock"
msgstr ""
-#: stock/templates/stock/item_base.html:183
+#: stock/templates/stock/item_base.html:121
msgid "Transfer stock"
msgstr ""
-#: stock/templates/stock/item_base.html:186
+#: stock/templates/stock/item_base.html:124
msgid "Assign to customer"
msgstr ""
-#: stock/templates/stock/item_base.html:189
+#: stock/templates/stock/item_base.html:127
msgid "Return to stock"
msgstr ""
-#: stock/templates/stock/item_base.html:193 templates/js/stock.js:1421
+#: stock/templates/stock/item_base.html:131 templates/js/stock.js:1426
msgid "Uninstall stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:193
+#: stock/templates/stock/item_base.html:131
msgid "Uninstall"
msgstr ""
-#: stock/templates/stock/item_base.html:202
+#: stock/templates/stock/item_base.html:140
#: stock/templates/stock/location.html:62
msgid "Stock actions"
msgstr ""
-#: stock/templates/stock/item_base.html:205
+#: stock/templates/stock/item_base.html:143
msgid "Convert to variant"
msgstr ""
-#: stock/templates/stock/item_base.html:208
+#: stock/templates/stock/item_base.html:146
msgid "Duplicate stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:210
+#: stock/templates/stock/item_base.html:148
msgid "Edit stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:213
+#: stock/templates/stock/item_base.html:151
msgid "Delete stock item"
msgstr ""
-#: stock/templates/stock/item_base.html:225
+#: stock/templates/stock/item_base.html:171
+msgid "You are not in the list of owners of this item. This stock item cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:178
+msgid "This stock item is in production and cannot be edited."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:179
+msgid "Edit the stock item from the build view."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:192
+msgid "This stock item has not passed all required tests"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:200
+#, python-format
+msgid "This stock item is allocated to Sales Order %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:208
+#, python-format
+msgid "This stock item is allocated to Build %(link)s (Quantity: %(qty)s)"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:214
+msgid "This stock item is serialized - it has a unique serial number and the quantity cannot be adjusted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:218
+msgid "This stock item cannot be deleted as it has child items"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:222
+msgid "This stock item will be automatically deleted when all stock is depleted."
+msgstr ""
+
+#: stock/templates/stock/item_base.html:230
msgid "Stock Item Details"
msgstr ""
-#: stock/templates/stock/item_base.html:284 templates/js/build.js:498
+#: stock/templates/stock/item_base.html:289 templates/js/build.js:498
msgid "No location set"
msgstr ""
-#: stock/templates/stock/item_base.html:291
+#: stock/templates/stock/item_base.html:296
msgid "Barcode Identifier"
msgstr ""
-#: stock/templates/stock/item_base.html:333
+#: stock/templates/stock/item_base.html:338
msgid "Parent Item"
msgstr ""
-#: stock/templates/stock/item_base.html:375
+#: stock/templates/stock/item_base.html:380
#, python-format
msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:377
+#: stock/templates/stock/item_base.html:382
#, python-format
msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
-#: stock/templates/stock/item_base.html:384 templates/js/stock.js:662
+#: stock/templates/stock/item_base.html:389 templates/js/stock.js:662
msgid "Last Updated"
msgstr ""
-#: stock/templates/stock/item_base.html:389
+#: stock/templates/stock/item_base.html:394
msgid "Last Stocktake"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:398
msgid "No stocktake performed"
msgstr ""
@@ -6067,7 +6115,8 @@ msgstr ""
#: templates/InvenTree/settings/appearance.html:29
#, python-format
-msgid "\n"
+msgid ""
+"\n"
" The CSS sheet \"%(invalid_color_theme)s.css\" for the currently selected color theme was not found.
\n"
" Please select another color theme :)\n"
" "
@@ -6107,11 +6156,35 @@ msgstr ""
msgid "Delete Template"
msgstr ""
+#: templates/InvenTree/settings/currencies.html:10
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
+msgstr ""
+
#: templates/InvenTree/settings/global.html:10
msgid "Global InvenTree Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:27
+#: templates/InvenTree/settings/global.html:26
msgid "Barcode Settings"
msgstr ""
@@ -6190,10 +6263,14 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:25
msgid "Categories"
msgstr ""
@@ -6239,46 +6316,50 @@ msgid "Update Available"
msgstr ""
#: templates/about.html:34
+msgid "API Version"
+msgstr ""
+
+#: templates/about.html:39
msgid "Django Version"
msgstr ""
-#: templates/about.html:41
+#: templates/about.html:46
msgid "Commit Hash"
msgstr ""
-#: templates/about.html:48
+#: templates/about.html:53
msgid "Commit Date"
msgstr ""
-#: templates/about.html:53
+#: templates/about.html:58
msgid "InvenTree Documentation"
msgstr ""
-#: templates/about.html:58
+#: templates/about.html:63
msgid "View Code on GitHub"
msgstr ""
-#: templates/about.html:63
+#: templates/about.html:68
msgid "Credits"
msgstr ""
-#: templates/about.html:68
+#: templates/about.html:73
msgid "Mobile App"
msgstr ""
-#: templates/about.html:73
+#: templates/about.html:78
msgid "Submit Bug Report"
msgstr ""
-#: templates/about.html:80 templates/clip.html:4
+#: templates/about.html:85 templates/clip.html:4
msgid "copy to clipboard"
msgstr ""
-#: templates/about.html:80
+#: templates/about.html:85
msgid "copy version information"
msgstr ""
-#: templates/about.html:90 templates/js/modals.js:568
+#: templates/about.html:95 templates/js/modals.js:568
#: templates/js/modals.js:846 templates/modals.html:29 templates/modals.html:54
#: templates/modals.html:97
msgid "Close"
@@ -6408,41 +6489,49 @@ msgstr ""
msgid "Open subassembly"
msgstr ""
-#: templates/js/bom.js:261
+#: templates/js/bom.js:249
+msgid "Purchase Price Range"
+msgstr ""
+
+#: templates/js/bom.js:257
+msgid "Purchase Price Average"
+msgstr ""
+
+#: templates/js/bom.js:277
msgid "No pricing available"
msgstr ""
-#: templates/js/bom.js:272 templates/js/filters.js:167
+#: templates/js/bom.js:288 templates/js/filters.js:167
#: templates/js/filters.js:397
msgid "true"
msgstr ""
-#: templates/js/bom.js:273 templates/js/filters.js:171
+#: templates/js/bom.js:289 templates/js/filters.js:171
#: templates/js/filters.js:398
msgid "false"
msgstr ""
-#: templates/js/bom.js:290 templates/js/bom.js:376
+#: templates/js/bom.js:306 templates/js/bom.js:392
msgid "View BOM"
msgstr ""
-#: templates/js/bom.js:350
+#: templates/js/bom.js:366
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/bom.js:352
+#: templates/js/bom.js:368
msgid "This line has been validated"
msgstr ""
-#: templates/js/bom.js:354
+#: templates/js/bom.js:370
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/bom.js:356
+#: templates/js/bom.js:372
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/bom.js:447 templates/js/build.js:340 templates/js/build.js:1092
+#: templates/js/bom.js:463 templates/js/build.js:340 templates/js/build.js:1092
msgid "No BOM items found"
msgstr ""
@@ -6485,7 +6574,7 @@ msgstr ""
#: templates/js/build.js:708 templates/js/part.js:324 templates/js/part.js:546
#: templates/js/stock.js:511 templates/js/stock.js:938
-#: templates/js/stock.js:1453
+#: templates/js/stock.js:1458
msgid "Select"
msgstr ""
@@ -6748,6 +6837,10 @@ msgstr ""
msgid "This test is defined for a parent part"
msgstr ""
+#: templates/js/part.js:727
+msgid "Single Price Difference"
+msgstr ""
+
#: templates/js/report.js:47
msgid "items selected"
msgstr ""
@@ -6942,55 +7035,55 @@ msgstr ""
msgid "Invalid date"
msgstr ""
-#: templates/js/stock.js:1036
+#: templates/js/stock.js:1041
msgid "Location no longer exists"
msgstr ""
-#: templates/js/stock.js:1055
+#: templates/js/stock.js:1060
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/stock.js:1074
+#: templates/js/stock.js:1079
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/stock.js:1092
+#: templates/js/stock.js:1097
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/stock.js:1115
+#: templates/js/stock.js:1120
msgid "Added"
msgstr ""
-#: templates/js/stock.js:1123
+#: templates/js/stock.js:1128
msgid "Removed"
msgstr ""
-#: templates/js/stock.js:1155
+#: templates/js/stock.js:1160
msgid "No user information"
msgstr ""
-#: templates/js/stock.js:1167
+#: templates/js/stock.js:1172
msgid "Edit tracking entry"
msgstr ""
-#: templates/js/stock.js:1168
+#: templates/js/stock.js:1173
msgid "Delete tracking entry"
msgstr ""
-#: templates/js/stock.js:1292
+#: templates/js/stock.js:1297
msgid "Create New Location"
msgstr ""
-#: templates/js/stock.js:1391
+#: templates/js/stock.js:1396
msgid "Serial"
msgstr ""
-#: templates/js/stock.js:1484 templates/js/table_filters.js:172
+#: templates/js/stock.js:1489 templates/js/table_filters.js:172
msgid "Installed"
msgstr ""
-#: templates/js/stock.js:1509
+#: templates/js/stock.js:1514
msgid "Install item"
msgstr ""
@@ -7472,4 +7565,3 @@ msgstr ""
#: users/models.py:187
msgid "Permission to delete items"
msgstr ""
-