diff --git a/InvenTree/order/migrations/0022_salesorderlineitem_part.py b/InvenTree/order/migrations/0022_salesorderlineitem_part.py
new file mode 100644
index 0000000000..1ef32fba1b
--- /dev/null
+++ b/InvenTree/order/migrations/0022_salesorderlineitem_part.py
@@ -0,0 +1,20 @@
+# Generated by Django 3.0.5 on 2020-04-20 22:33
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('part', '0035_auto_20200406_0045'),
+        ('order', '0021_auto_20200420_1010'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='salesorderlineitem',
+            name='part',
+            field=models.ForeignKey(help_text='Part', limit_choices_to={'salable': True}, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sales_orders', to='part.Part'),
+        ),
+    ]
diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py
index 2d678097d4..2eb60055ca 100644
--- a/InvenTree/order/models.py
+++ b/InvenTree/order/models.py
@@ -19,6 +19,7 @@ from datetime import datetime
 
 from stock.models import StockItem
 from company.models import Company, SupplierPart
+from part.models import Part
 
 from InvenTree.fields import RoundingDecimalField
 from InvenTree.helpers import decimal2string
@@ -355,8 +356,13 @@ class PurchaseOrderLineItem(OrderLineItem):
 class SalesOrderLineItem(OrderLineItem):
     """
     Model for a single LineItem in a SalesOrder
+
+    Attributes:
+        order: Link to the SalesOrder that this line item belongs to
+        part: Link to a Part object (may be null)
     """
 
     order = models.ForeignKey(SalesOrder, on_delete=models.CASCADE, related_name='lines', help_text=_('Sales Order'))
 
-    # TODO - Add link for part items
+    part = models.ForeignKey(Part, on_delete=models.SET_NULL, related_name='sales_orders', null=True, help_text=_('Part'), limit_choices_to={'salable': True})
+