diff --git a/SciPost_v1/settings.py b/SciPost_v1/settings.py
index 3989f5c1e1d3508141df74283c6046ff7ad46e3a..39653937b45dd4be739df580cf5ae639aedc2727 100644
--- a/SciPost_v1/settings.py
+++ b/SciPost_v1/settings.py
@@ -105,6 +105,7 @@ CAPTCHA_NOISE_FUNCTIONS = ('captcha.helpers.noise_dots',)
 SHELL_PLUS_POST_IMPORTS = (
     ('theses.factories', ('ThesisLinkFactory')),
     ('comments.factories', 'CommentFactory'),
+    ('submissions.factories', 'SubmissionFactory'),
 )
 
 MATHJAX_ENABLED = True
diff --git a/submissions/factories.py b/submissions/factories.py
new file mode 100644
index 0000000000000000000000000000000000000000..1989401d8ccefa0ea02f58f18e4cada6fad5ebf5
--- /dev/null
+++ b/submissions/factories.py
@@ -0,0 +1,25 @@
+import factory
+
+from scipost.factories import ContributorFactory
+
+from .models import Submission
+
+
+class SubmissionFactory(factory.django.DjangoModelFactory):
+    class Meta:
+        model = Submission
+
+    submitted_by = factory.SubFactory(ContributorFactory)
+    submitted_to_journal = 'SciPost Physics'
+    title = factory.Faker('bs')
+    abstract = factory.Faker('text')
+    arxiv_link = factory.Faker('uri')
+
+
+    @factory.post_generation
+    def authors(self, create, extracted, **kwargs):
+        # Add a single author if factory is invoked with strategy 'create'
+        if not create:
+            return
+        else:
+            self.authors.add(ContributorFactory())