diff --git a/hypha/apply/projects/forms.py b/hypha/apply/projects/forms.py
index 483f6d15eba5467fb3e2d3790c82b4960b647f9d..f3c0ec85e8a55f1f2795edddb2233d0094657abc 100644
--- a/hypha/apply/projects/forms.py
+++ b/hypha/apply/projects/forms.py
@@ -234,14 +234,16 @@ class PaymentRequestBaseForm(forms.ModelForm):
 
 
 class CreatePaymentRequestForm(PaymentRequestBaseForm):
-    receipts = MultiFileField()
+    receipts = MultiFileField(required=False)
 
     def save(self, commit=True):
         request = super().save(commit=commit)
 
+        receipts = self.cleaned_data['receipts'] or []
+
         PaymentReceipt.objects.bulk_create(
             PaymentReceipt(payment_request=request, file=receipt)
-            for receipt in self.cleaned_data['receipts']
+            for receipt in receipts
         )
 
         return request
diff --git a/hypha/apply/projects/tests/test_forms.py b/hypha/apply/projects/tests/test_forms.py
index 77b5c4595cd519abe85cb8ea136dcc4c3c1a3aa2..1af9b8ccafbec92c0d916e905a435fcc341cedd6 100644
--- a/hypha/apply/projects/tests/test_forms.py
+++ b/hypha/apply/projects/tests/test_forms.py
@@ -126,6 +126,29 @@ class TestCreatePaymentRequestForm(TestCase):
 
         self.assertEqual(payment_request.receipts.count(), 1)
 
+    def test_receipt_not_required(self):
+        data = {
+            'requested_value': '10',
+            'date_from': '2018-08-15',
+            'date_to': '2019-08-15',
+            'comment': 'test comment',
+        }
+
+        invoice = SimpleUploadedFile('invoice.pdf', BytesIO(b'somebinarydata').read())
+        files = {
+            'invoice': invoice,
+            'receipts': [],
+        }
+
+        form = CreatePaymentRequestForm(data=data, files=files)
+        self.assertTrue(form.is_valid(), msg=form.errors)
+
+        form.instance.by = UserFactory()
+        form.instance.project = ProjectFactory()
+        payment_request = form.save()
+
+        self.assertEqual(payment_request.receipts.count(), 0)
+
     def test_payment_request_dates_are_correct(self):
         invoice = SimpleUploadedFile('invoice.pdf', BytesIO(b'somebinarydata').read())
         receipts = SimpleUploadedFile('receipts.pdf', BytesIO(b'someotherbinarydata').read())