diff --git a/InvenTree/part/forms.py b/InvenTree/part/forms.py
index cb6ae9c70b..09e9c75f3b 100644
--- a/InvenTree/part/forms.py
+++ b/InvenTree/part/forms.py
@@ -136,6 +136,7 @@ class EditBomItemForm(HelperForm):
'part',
'sub_part',
'quantity',
+ 'reference',
'overage',
'note'
]
diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py
index eaea7ecebc..b3d8c17b12 100644
--- a/InvenTree/part/serializers.py
+++ b/InvenTree/part/serializers.py
@@ -166,6 +166,7 @@ class BomItemSerializer(InvenTreeModelSerializer):
'sub_part',
'sub_part_detail',
'quantity',
+ 'reference',
'price_range',
'overage',
'note',
diff --git a/InvenTree/static/script/inventree/bom.js b/InvenTree/static/script/inventree/bom.js
index 0f3134c193..47a3151f43 100644
--- a/InvenTree/static/script/inventree/bom.js
+++ b/InvenTree/static/script/inventree/bom.js
@@ -63,33 +63,39 @@ function loadBomTable(table, options) {
}
);
+ // Part reference
+ cols.push({
+ field: 'reference',
+ title: 'Reference',
+ searchable: true,
+ sortable: true,
+ });
+
// Part quantity
- cols.push(
- {
- field: 'quantity',
- title: 'Required',
- searchable: false,
- sortable: true,
- formatter: function(value, row, index, field) {
- var text = value;
+ cols.push({
+ field: 'quantity',
+ title: 'Quantity',
+ searchable: false,
+ sortable: true,
+ formatter: function(value, row, index, field) {
+ var text = value;
- if (row.overage) {
- text += " (+" + row.overage + ") ";
- }
+ if (row.overage) {
+ text += " (+" + row.overage + ") ";
+ }
- return text;
- },
- footerFormatter: function(data) {
- var quantity = 0;
+ return text;
+ },
+ footerFormatter: function(data) {
+ var quantity = 0;
- data.forEach(function(item) {
- quantity += item.quantity;
- });
+ data.forEach(function(item) {
+ quantity += item.quantity;
+ });
- return quantity;
- },
- }
- );
+ return quantity;
+ },
+ });
if (!options.editable) {
cols.push(