diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidService.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidService.java
index 537d205f1833c81edc1c5d0d65eb0ef467bb991a..7d7a715a589b079b30ec971790574dc899ab3cf2 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidService.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidService.java
@@ -19,6 +19,7 @@ import de.ozgcloud.bescheid.vorgang.VorgangId;
 import de.ozgcloud.bescheid.vorgang.VorgangService;
 import de.ozgcloud.common.binaryfile.FileId;
 import de.ozgcloud.common.errorhandling.TechnicalException;
+import de.ozgcloud.document.Document;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
 
@@ -119,7 +120,7 @@ class BescheidService {
 		return Bescheid.builder()
 				.vorgangId(VorgangId.from(bescheidItem.getVorgangId()))
 				.genehmigt(getBewilligt(bescheidItem))
-				.bescheidFileId(FileId.from(MapUtils.getString(bescheidItem.getItem(), Bescheid.FIELD_BESCHEID_DOCUMENT)))
+				.bescheidFileId(getBescheidFileId(bescheidItem))
 				.nachrichtSubject(Optional.ofNullable(getNachrichtSubject(bescheidItem)))
 				.nachrichtText(Optional.ofNullable(getNachrichtText(bescheidItem)))
 				.createdBy(currentUserService.getUserProfile().getId())
@@ -127,6 +128,11 @@ class BescheidService {
 				.build();
 	}
 
+	FileId getBescheidFileId(AttachedItem bescheidItem) {
+		var bescheidDocument = attachedItemService.getItem(MapUtils.getString(bescheidItem.getItem(), Bescheid.FIELD_BESCHEID_DOCUMENT));
+		return FileId.from(MapUtils.getString(bescheidDocument.getItem(), Document.FIELD_DOCUMENT_FILE));
+	}
+
 	String getNachrichtSubject(AttachedItem bescheidItem) {
 		return MapUtils.getString(bescheidItem.getItem(), Bescheid.FIELD_NACHRICHT_SUBJECT);
 	}
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidServiceTest.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidServiceTest.java
index 9f96b98a60c87a1fcb1494d4293c169c0bcf0e9f..1c75018438672471dbcd4918ae9bb537f768dc3c 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidServiceTest.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidServiceTest.java
@@ -35,7 +35,9 @@ import de.ozgcloud.bescheid.vorgang.VorgangId;
 import de.ozgcloud.bescheid.vorgang.VorgangService;
 import de.ozgcloud.bescheid.vorgang.VorgangTestFactory;
 import de.ozgcloud.command.CommandTestFactory;
+import de.ozgcloud.common.binaryfile.FileId;
 import de.ozgcloud.common.errorhandling.TechnicalException;
+import de.ozgcloud.document.DocumentTestFactory;
 
 class BescheidServiceTest {
 
@@ -184,6 +186,7 @@ class BescheidServiceTest {
 
 		@Test
 		void shouldCallValidateBescheid() {
+			doReturn(BescheidTestFactory.create()).when(service).buildBescheid(any(), any());
 			when(vorgangService.getById(any())).thenReturn(VorgangTestFactory.create());
 
 			sendBescheid();
@@ -193,6 +196,7 @@ class BescheidServiceTest {
 
 		@Test
 		void shouldCallVorgangService() {
+			doReturn(BescheidTestFactory.create()).when(service).buildBescheid(any(), any());
 			when(vorgangService.getById(any())).thenReturn(VorgangTestFactory.create());
 
 			sendBescheid();
@@ -203,6 +207,7 @@ class BescheidServiceTest {
 
 		@Test
 		void shouldCallBuildBescheid() {
+			doReturn(BescheidTestFactory.create()).when(service).buildBescheid(any(), any());
 			var serviceKonto = ServiceKontoTestFactory.create();
 			var vorgang = VorgangTestFactory.createBuilder().serviceKonto(serviceKonto).build();
 			doReturn(vorgang).when(vorgangService).getById(any());
@@ -225,6 +230,7 @@ class BescheidServiceTest {
 
 		@Test
 		void shouldCallSendBescheid() {
+			doReturn(BescheidTestFactory.create()).when(service).buildBescheid(any(), any());
 			when(vorgangService.getById(any())).thenReturn(VorgangTestFactory.create());
 
 			sendBescheid();
@@ -353,6 +359,7 @@ class BescheidServiceTest {
 		void init() {
 			when(callContextUser.getId()).thenReturn(UserId.from(CREATED_BY));
 			when(currentUserService.getUserProfile()).thenReturn(callContextUser);
+			doReturn(FileId.from(DocumentTestFactory.DOCUMENT_FILE)).when(service).getBescheidFileId(any());
 		}
 
 		@Test
@@ -378,11 +385,18 @@ class BescheidServiceTest {
 			assertThat(result.isGenehmigt()).isTrue();
 		}
 
+		@Test
+		void shouldCallGetBescheidFileId() {
+			buildBescheid();
+
+			verify(service).getBescheidFileId(BESCHEID_ITEM);
+		}
+
 		@Test
 		void shouldSetBescheidFileId() {
 			var result = buildBescheid();
 
-			assertThat(result.getBescheidFileId()).hasToString(AttachedItemTestFactory.BESCHEID_DOCUMENT);
+			assertThat(result.getBescheidFileId()).hasToString(DocumentTestFactory.DOCUMENT_FILE);
 		}
 
 		@Test
@@ -425,6 +439,29 @@ class BescheidServiceTest {
 		}
 	}
 
+	@Nested
+	class TestGetBescheidFileId {
+
+		@BeforeEach
+		void init() {
+			when(attachedItemService.getItem(anyString())).thenReturn(AttachedItemTestFactory.createDocument());
+		}
+
+		@Test
+		void shouldCallGetItem() {
+			service.getBescheidFileId(AttachedItemTestFactory.createBescheid());
+
+			verify(attachedItemService).getItem(AttachedItemTestFactory.BESCHEID_DOCUMENT);
+		}
+
+		@Test
+		void shouldReturnBescheidFileId() {
+			var result = service.getBescheidFileId(AttachedItemTestFactory.createBescheid());
+
+			assertThat(result).hasToString(DocumentTestFactory.DOCUMENT_FILE);
+		}
+	}
+
 	@Nested
 	class TestGetNachrichtSubject {