diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html
index 7743e6c630..e8062c133f 100644
--- a/InvenTree/order/templates/order/purchase_order_detail.html
+++ b/InvenTree/order/templates/order/purchase_order_detail.html
@@ -146,30 +146,32 @@
         );
     });
 
-    enableDragAndDrop(
-        '#attachment-dropzone',
-        '{% url "api-po-attachment-list" %}',
-        {
-            data: {
-                order: {{ order.id }},
-            },
-            label: 'attachment',
-            success: function(data, status, xhr) {
-                $('#attachment-table').bootstrapTable('refresh');
+    onPanelLoad('order-attachments', function() {
+        enableDragAndDrop(
+            '#attachment-dropzone',
+            '{% url "api-po-attachment-list" %}',
+            {
+                data: {
+                    order: {{ order.id }},
+                },
+                label: 'attachment',
+                success: function(data, status, xhr) {
+                    $('#attachment-table').bootstrapTable('refresh');
+                }
             }
-        }
-    );
+        );
 
-    loadAttachmentTable('{% url "api-po-attachment-list" %}', {
-        filters: {
-            order: {{ order.pk }},
-        },
-        fields: {
-            order: {
-                value: {{ order.pk }},
-                hidden: true,
+        loadAttachmentTable('{% url "api-po-attachment-list" %}', {
+            filters: {
+                order: {{ order.pk }},
+            },
+            fields: {
+                order: {
+                    value: {{ order.pk }},
+                    hidden: true,
+                }
             }
-        }
+        });
     });
 
     loadStockTable($("#stock-table"), {
@@ -219,60 +221,62 @@ $('#new-po-line').click(function() {
 
 {% endif %}
 
-loadPurchaseOrderLineItemTable('#po-line-table', {
-    order: {{ order.pk }},
-    {% if order.supplier %}
-    supplier: {{ order.supplier.pk }},
-    {% endif %}
-    {% if roles.purchase_order.change %}
-    allow_edit: true,
-    {% else %}
-    allow_edit: false,
-    {% endif %}
-    {% if order.status == PurchaseOrderStatus.PENDING %}
-    pending: true,
-    {% endif %}
-    {% if order.status == PurchaseOrderStatus.PLACED and roles.purchase_order.change %}
-    allow_receive: true,
-    {% else %}
-    allow_receive: false,
-    {% endif %}
-});
-
-$("#new-po-extra-line").click(function() {
-
-    var fields = extraLineFields({
+onPanelLoad('order-items', function() {
+    loadPurchaseOrderLineItemTable('#po-line-table', {
         order: {{ order.pk }},
+        {% if order.supplier %}
+        supplier: {{ order.supplier.pk }},
+        {% endif %}
+        {% if roles.purchase_order.change %}
+        allow_edit: true,
+        {% else %}
+        allow_edit: false,
+        {% endif %}
+        {% if order.status == PurchaseOrderStatus.PENDING %}
+        pending: true,
+        {% endif %}
+        {% if order.status == PurchaseOrderStatus.PLACED and roles.purchase_order.change %}
+        allow_receive: true,
+        {% else %}
+        allow_receive: false,
+        {% endif %}
     });
 
-    {% if order.supplier.currency %}
-    fields.price_currency.value = '{{ order.supplier.currency }}';
-    {% endif %}
+    $("#new-po-extra-line").click(function() {
 
-    constructForm('{% url "api-po-extra-line-list" %}', {
-        fields: fields,
-        method: 'POST',
-        title: '{% trans "Add Order Line" %}',
-        onSuccess: function() {
-            $("#po-extra-lines-table").bootstrapTable("refresh");
-        },
+        var fields = extraLineFields({
+            order: {{ order.pk }},
+        });
+
+        {% if order.supplier.currency %}
+        fields.price_currency.value = '{{ order.supplier.currency }}';
+        {% endif %}
+
+        constructForm('{% url "api-po-extra-line-list" %}', {
+            fields: fields,
+            method: 'POST',
+            title: '{% trans "Add Order Line" %}',
+            onSuccess: function() {
+                $("#po-extra-lines-table").bootstrapTable("refresh");
+            },
+        });
     });
-});
 
-loadExtraLineTable({
-    table: '#po-extra-lines-table',
-    order: {{ order.pk }},
-    url: '{% url "api-po-extra-line-list" %}',
-    name: 'purchaseorderextraline',
-    filtertarget: '#filter-list-purchase-order-extra-lines',
-    {% settings_value "PURCHASEORDER_EDIT_COMPLETED_ORDERS" as allow_edit %}
-    {% if order.is_pending or allow_edit %}
-    allow_edit: {% js_bool roles.purchase_order.change %},
-    allow_delete: {% js_bool roles.purchase_order.delete %},
-    {% else %}
-    allow_edit: false,
-    allow_delete: false,
-    {% endif %}
+    loadExtraLineTable({
+        table: '#po-extra-lines-table',
+        order: {{ order.pk }},
+        url: '{% url "api-po-extra-line-list" %}',
+        name: 'purchaseorderextraline',
+        filtertarget: '#filter-list-purchase-order-extra-lines',
+        {% settings_value "PURCHASEORDER_EDIT_COMPLETED_ORDERS" as allow_edit %}
+        {% if order.is_pending or allow_edit %}
+        allow_edit: {% js_bool roles.purchase_order.change %},
+        allow_delete: {% js_bool roles.purchase_order.delete %},
+        {% else %}
+        allow_edit: false,
+        allow_delete: false,
+        {% endif %}
+    });
 });
 
 loadOrderTotal(
diff --git a/InvenTree/order/templates/order/return_order_detail.html b/InvenTree/order/templates/order/return_order_detail.html
index 54107d6cf2..ac9637b553 100644
--- a/InvenTree/order/templates/order/return_order_detail.html
+++ b/InvenTree/order/templates/order/return_order_detail.html
@@ -102,7 +102,18 @@ onPanelLoad('order-details', function() {
     });
 
     $('#new-return-order-extra-line').click(function() {
-        // TODO: Create new return order extra line item
+        let fields = extraLineFields({
+            order: {{ order.pk }},
+        });
+
+        constructForm('{% url "api-return-order-extra-line-list" %}', {
+            fields: fields,
+            method: 'POST',
+            title: '{% trans "Add Extra Line" %}',
+            onSuccess: function() {
+                $("#return-order-extra-lines-table").bootstrapTable('refresh');
+            }
+        });
     });
 });
 
diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html
index 864c112c3f..40aa85ad70 100644
--- a/InvenTree/order/templates/order/sales_order_detail.html
+++ b/InvenTree/order/templates/order/sales_order_detail.html
@@ -244,66 +244,70 @@
         },
     });
 
-    $("#new-so-line").click(function() {
-        createSalesOrderLineItem({
-            order: {{ order.pk }},
-            onSuccess: function() {
-                $("#so-lines-table").bootstrapTable("refresh");
+    onPanelLoad('order-items', function() {
+
+        $("#new-so-line").click(function() {
+            createSalesOrderLineItem({
+                order: {{ order.pk }},
+                onSuccess: function() {
+                    $("#so-lines-table").bootstrapTable("refresh");
+                }
+            });
+
+            // Create a new SalesOrderLine item
+            var fields = soLineItemFields({
+                order: {{ order.pk }},
+            });
+        });
+
+        loadSalesOrderLineItemTable(
+            '#so-lines-table',
+            {
+                order: {{ order.pk }},
+                reference: '{{ order.reference }}',
+                status: {{ order.status }},
+                {% if roles.sales_order.change %}
+                allow_edit: true,
+                {% endif %}
+                {% if order.is_pending %}
+                pending: true,
+                {% endif %}
             }
+        );
+
+        $("#new-so-extra-line").click(function() {
+
+            var fields = extraLineFields({
+                order: {{ order.pk }},
+            });
+
+            constructForm('{% url "api-so-extra-line-list" %}', {
+                fields: fields,
+                method: 'POST',
+                title: '{% trans "Add Extra Line" %}',
+                onSuccess: function() {
+                    $("#so-extra-lines-table").bootstrapTable("refresh");
+                },
+            });
         });
 
-        // Create a new SalesOrderLine item
-        var fields = soLineItemFields({
+        loadExtraLineTable({
             order: {{ order.pk }},
-        });
-    });
-
-    loadSalesOrderLineItemTable(
-        '#so-lines-table',
-        {
-            order: {{ order.pk }},
-            reference: '{{ order.reference }}',
-            status: {{ order.status }},
-            {% if roles.sales_order.change %}
-            allow_edit: true,
+            table: '#so-extra-lines-table',
+            url: '{% url "api-so-extra-line-list" %}',
+            name: 'salesorderextraline',
+            filtertarget: '#filter-list-sales-order-extra-lines',
+            {% settings_value "SALESORDER_EDIT_COMPLETED_ORDERS" as allow_edit %}
+            {% if order.is_pending or allow_edit %}
+            allow_edit: {% js_bool roles.sales_order.change %},
+            allow_delete: {% js_bool roles.sales_order.delete %},
+            {% else %}
+            allow_edit: false,
+            allow_delete: false,
             {% endif %}
-            {% if order.is_pending %}
-            pending: true,
-            {% endif %}
-        }
-    );
-
-    $("#new-so-extra-line").click(function() {
-
-        var fields = extraLineFields({
-            order: {{ order.pk }},
-        });
-
-        constructForm('{% url "api-so-extra-line-list" %}', {
-            fields: fields,
-            method: 'POST',
-            title: '{% trans "Add Extra Line" %}',
-            onSuccess: function() {
-                $("#so-extra-lines-table").bootstrapTable("refresh");
-            },
         });
     });
 
-    loadExtraLineTable({
-        order: {{ order.pk }},
-        table: '#so-extra-lines-table',
-        url: '{% url "api-so-extra-line-list" %}',
-        name: 'salesorderextraline',
-        filtertarget: '#filter-list-sales-order-extra-lines',
-        {% settings_value "SALESORDER_EDIT_COMPLETED_ORDERS" as allow_edit %}
-        {% if order.is_pending or allow_edit %}
-        allow_edit: {% js_bool roles.sales_order.change %},
-        allow_delete: {% js_bool roles.sales_order.delete %},
-        {% else %}
-        allow_edit: false,
-        allow_delete: false,
-        {% endif %}
-    });
 
     loadOrderTotal(
         '#soTotalPrice',