diff --git a/finances/admin.py b/finances/admin.py
index 9cd10b6fb2e30f396022a1650c5e51610059db4e..b404eea5a7086f61c986f2d014179ff597733ab3 100644
--- a/finances/admin.py
+++ b/finances/admin.py
@@ -4,9 +4,18 @@ __license__ = "AGPL v3"
 
 from django.contrib import admin
 
-from .models import Subsidy, WorkLog
+from .models import Subsidy, SubsidyAttachment, WorkLog
 
 
-admin.site.register(Subsidy)
+class SubsidyAttachmentInline(admin.TabularInline):
+    model = SubsidyAttachment
+
+
+class SubsidyAdmin(admin.ModelAdmin):
+    inlines = [SubsidyAttachmentInline,]
+
+
+admin.site.register(Subsidy, SubsidyAdmin)
+
 
 admin.site.register(WorkLog)
diff --git a/finances/views.py b/finances/views.py
index 6b45cb3a19a7590719fc1f4e6a76497dd8dd3d4f..3cd4089fdfae2a7f8f20616ab5acd389f413b278 100644
--- a/finances/views.py
+++ b/finances/views.py
@@ -2,18 +2,20 @@ __copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
 __license__ = "AGPL v3"
 
 
+import mimetypes
+
 from django.contrib import messages
 from django.contrib.auth.decorators import permission_required
 from django.contrib.auth.mixins import LoginRequiredMixin
 from django.core.urlresolvers import reverse_lazy
-from django.http import Http404
-from django.shortcuts import render
+from django.http import Http404, HttpResponse
+from django.shortcuts import get_object_or_404, render
 from django.views.generic.detail import DetailView
 from django.views.generic.edit import CreateView, UpdateView, DeleteView
 from django.views.generic.list import ListView
 
 from .forms import SubsidyForm, LogsFilter
-from .models import Subsidy, WorkLog
+from .models import Subsidy, SubsidyAttachment, WorkLog
 from .utils import slug_to_id
 
 from scipost.mixins import PermissionsMixin