diff --git a/app/models/part.rb b/app/models/part.rb
index <HASH>..<HASH> 100644
--- a/app/models/part.rb
+++ b/app/models/part.rb
@@ -8,6 +8,8 @@ class Part
   embedded_in :programme_edition
   embedded_in :business_support_edition
 
+  scope :in_order, order_by(:order, :asc)
+
   field :order,      type: Integer
   field :title,      type: String
   field :body,       type: String
diff --git a/test/models/edition_test.rb b/test/models/edition_test.rb
index <HASH>..<HASH> 100644
--- a/test/models/edition_test.rb
+++ b/test/models/edition_test.rb
@@ -587,6 +587,17 @@ class EditionTest < ActiveSupport::TestCase
     end
   end
 
+  test "parts can be sorted by the order field using a scope" do
+    edition = GuideEdition.new(title: "One", slug: "one", panopticon_id: @artefact.id)
+    edition.parts.build title: "Biscuits", body:"Never gonna give you up", slug: "biscuits", order: 2
+    edition.parts.build title: "Cookies", body:"NYAN NYAN NYAN NYAN", slug: "cookies", order: 1
+    edition.save!
+    edition.reload
+
+    assert_equal "Cookies", edition.parts.in_order.first.title
+    assert_equal "Biscuits", edition.parts.in_order.last.title
+  end
+
   test "user should not be able to review an edition they requested review for" do
     user = User.create(name: "Mary")
Allow parts to be sorted by the order value

Use a scope to sort parts by the value of the order
attribute.