diff --git a/aleksis/apps/alsijil/schema/documentation.py b/aleksis/apps/alsijil/schema/documentation.py
index 8ce3adb7bd078792d059840ac61b0b2091b9c14d..442f2156a92778861d5d5a7584e34a12ddae9767 100644
--- a/aleksis/apps/alsijil/schema/documentation.py
+++ b/aleksis/apps/alsijil/schema/documentation.py
@@ -6,6 +6,7 @@ from django.utils.timezone import localdate, localtime
 import graphene
 from graphene_django.types import DjangoObjectType
 from guardian.shortcuts import get_objects_for_user
+from reversion import create_revision, set_comment, set_user
 
 from aleksis.apps.alsijil.util.predicates import can_edit_documentation, is_in_allowed_time_range
 from aleksis.apps.chronos.models import LessonEvent
@@ -117,8 +118,6 @@ class DocumentationBatchCreateOrUpdateMutation(graphene.Mutation):
                     and datetime_start <= localtime()
                 )
             ):
-                # Timezone removal is necessary due to ISO style offsets are no valid timezones.
-                # Instead, we take the timezone from the lesson_event and save it in a dedicated field.
                 obj = Documentation.objects.create(
                     datetime_start=datetime_start,
                     datetime_end=datetime_end,
@@ -159,6 +158,9 @@ class DocumentationBatchCreateOrUpdateMutation(graphene.Mutation):
 
     @classmethod
     def mutate(cls, root, info, input):  # noqa
-        objs = [cls.create_or_update(info, doc) for doc in input]
+        with create_revision():
+            set_user(info.context.user)
+            set_comment("Updated in coursebook")
+            objs = [cls.create_or_update(info, doc) for doc in input]
 
         return DocumentationBatchCreateOrUpdateMutation(documentations=objs)