diff --git a/InvenTree/static/script/inventree/order.js b/InvenTree/static/script/inventree/order.js
index 09e50fa4b6..79ac2b76bd 100644
--- a/InvenTree/static/script/inventree/order.js
+++ b/InvenTree/static/script/inventree/order.js
@@ -8,4 +8,33 @@ function removeOrderRowFromOrderWizard(e) {
var row = $(src).attr('row');
$('#' + row).remove();
-}
\ No newline at end of file
+}
+
+function newSupplierPartFromOrderWizard(e) {
+ /* Create a new supplier part directly from an order form.
+ * Launches a secondary modal and (if successful),
+ * back-populates the selected row.
+ */
+
+ e = e || window.event;
+
+ var src = e.target || e.srcElement;
+
+ var part = $(src).attr('part-id');
+
+ launchModalForm("/supplier-part/new/", {
+ modal: '#modal-form-secondary',
+ data: {
+ part: part,
+ },
+ success: function(response) {
+ /* A new supplier part has been created! */
+
+ var dropdown = '#id_supplier_part_' + part;
+
+ var option = new Option(response.text, response.pk, true, true);
+
+ $('#modal-form').find(dropdown).append(option).trigger('change');
+ },
+ });
+}