diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/BescheidExportInput.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/BescheidExportInput.java
index 2eaa029e52aa5080b6aabcc85a611af051072b00..aa25d85adf81618ded8e2c62097275c011c90313 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/BescheidExportInput.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/BescheidExportInput.java
@@ -3,6 +3,8 @@ package de.ozgcloud.alfa.bescheid;
 import java.util.List;
 
 import de.ozgcloud.alfa.common.file.OzgFile;
+import lombok.Builder;
 
+@Builder
 record BescheidExportInput(Bescheid bescheid, String organisationseinheitenId, List<OzgFile> files) {
 }
diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/ExportBescheidService.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/ExportBescheidService.java
index 1d66ad45f4a52597ed08fa0aa41aa6a93489e45c..8e29ef7f84f7b75f66b8df3ca5254cbf9c6eace3 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/ExportBescheidService.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/bescheid/ExportBescheidService.java
@@ -1,6 +1,5 @@
 package de.ozgcloud.alfa.bescheid;
 
-import java.util.List;
 import java.util.stream.Stream;
 
 import org.springframework.stereotype.Service;
@@ -32,16 +31,18 @@ public class ExportBescheidService {
 	}
 
 	BescheidExportInput createBescheidExportInput(Bescheid bescheid, VorgangWithEingang vorgang) {
-		return new BescheidExportInput(bescheid, vorgang.getOrganisationseinheitenID(), getAttachments(bescheid));
+		return BescheidExportInput.builder()
+				.bescheid(bescheid)
+				.organisationseinheitenId(vorgang.getOrganisationseinheitenID())
+				.files(Stream.concat(Stream.of(getDocument(bescheid)), getAttachments(bescheid)).toList()).build();
 	}
 
-	List<OzgFile> getAttachments(Bescheid bescheid) {
-		return binaryFileService.getFiles(bescheid.getAttachments()).toList();
+	Stream<OzgFile> getAttachments(Bescheid bescheid) {
+		return binaryFileService.getFiles(bescheid.getAttachments());
 	}
 
 	void addBescheidExportData(BescheidExportInput input, BescheidExportData.BescheidExportDataBuilder builder) {
 		builder.dokumentType(buildDokumentType(input))
-				.file(getDocument(input.bescheid()))
 				.files(input.files());
 	}
 
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/BescheidExportInputTestFactory.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/BescheidExportInputTestFactory.java
index 0051086930bbbe289f68949dc244733f7e5ab218..fbee5d69b45774fcfac881ab2f4550284704c447 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/BescheidExportInputTestFactory.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/BescheidExportInputTestFactory.java
@@ -10,10 +10,17 @@ public class BescheidExportInputTestFactory {
 
 	public final static Bescheid BESCHEID = BescheidTestFactory.create();
 	public final static String ORGANISATIONSEINHEITEN_ID = ZustaendigeStelleTestFactory.ORGANISATIONSEINHEITEN_ID;
-	public final static List<OzgFile> ATTACHMENTS = List.of(OzgFileTestFactory.createWithUniqueId());
+	public final static List<OzgFile> FILES = List.of(OzgFileTestFactory.createWithUniqueId());
 
 	public static BescheidExportInput create() {
-		return new BescheidExportInput(BESCHEID, ORGANISATIONSEINHEITEN_ID, ATTACHMENTS);
+		return createBuilder().build();
+	}
+
+	public static BescheidExportInput.BescheidExportInputBuilder createBuilder() {
+		return BescheidExportInput.builder()
+				.bescheid(BESCHEID)
+				.organisationseinheitenId(ORGANISATIONSEINHEITEN_ID)
+				.files(FILES);
 	}
 
 }
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java
index 126aab998d2b46b39b5b8e5c2340f6200fe2adee..bd8d907e7cc79c9830cebdcb81e4061609657396 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/ExportBescheidServiceTest.java
@@ -154,10 +154,13 @@ class ExportBescheidServiceTest {
 	class TestCreateBescheidExportInput {
 		private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
 		private final Bescheid bescheid = BescheidTestFactory.create();
+		private final OzgFile document = OzgFileTestFactory.create();
+		private final OzgFile attachment = OzgFileTestFactory.create();
 
 		@BeforeEach
 		void setUpMocks() {
-			doReturn(BescheidExportInputTestFactory.ATTACHMENTS).when(service).getAttachments(bescheid);
+			doReturn(Stream.of(attachment)).when(service).getAttachments(bescheid);
+			doReturn(document).when(service).getDocument(bescheid);
 		}
 
 		@Test
@@ -167,11 +170,19 @@ class ExportBescheidServiceTest {
 			verify(service).getAttachments(bescheid);
 		}
 
+		@Test
+		void shouldCallGetDocument() {
+			callService();
+
+			verify(service).getDocument(bescheid);
+		}
+
 		@Test
 		void shouldReturnInputData() {
 			var resultInput = callService();
 
-			assertThat(resultInput).usingRecursiveComparison().isEqualTo(BescheidExportInputTestFactory.create());
+			assertThat(resultInput).usingRecursiveComparison()
+					.isEqualTo(BescheidExportInputTestFactory.createBuilder().files(List.of(document, attachment)).build());
 		}
 
 		private BescheidExportInput callService() {
@@ -243,7 +254,7 @@ class ExportBescheidServiceTest {
 
 	@Nested
 	class TestAddBescheidExportData {
-		private final List<OzgFile> attachments = BescheidExportInputTestFactory.ATTACHMENTS;
+		private final List<OzgFile> files = BescheidExportInputTestFactory.FILES;
 		private final OzgFile document = OzgFileTestFactory.create();
 		private final DokumentType dokumentType = DokumentTypeTestFactory.create();
 		private final BescheidExportInput exportInput = BescheidExportInputTestFactory.create();
@@ -254,30 +265,14 @@ class ExportBescheidServiceTest {
 		@BeforeEach
 		void setUpMocks() {
 			doReturn(dokumentType).when(service).buildDokumentType(exportInput);
-			doReturn(document).when(service).getDocument(exportInput.bescheid());
 			when(exportDataBuilder.dokumentType(dokumentType)).thenReturn(exportDataBuilder);
-			when(exportDataBuilder.file(document)).thenReturn(exportDataBuilder);
-		}
-
-		@Test
-		void shouldGetDocument() {
-			callService();
-
-			verify(service).getDocument(exportInput.bescheid());
-		}
-
-		@Test
-		void shouldAddDocumentToBuilder() {
-			callService();
-
-			verify(exportDataBuilder).file(document);
 		}
 
 		@Test
 		void shouldAddAttachmentsToBuilder() {
 			callService();
 
-			verify(exportDataBuilder).files(attachments);
+			verify(exportDataBuilder).files(files);
 		}
 
 		@Test
@@ -303,7 +298,7 @@ class ExportBescheidServiceTest {
 	class TestBuildDokumentType {
 		private final BescheidExportInput exportInput = BescheidExportInputTestFactory.create();
 		private final Bescheid bescheid = BescheidExportInputTestFactory.BESCHEID;
-		private final List<OzgFile> attachments = BescheidExportInputTestFactory.ATTACHMENTS;
+		private final List<OzgFile> files = BescheidExportInputTestFactory.FILES;
 		private final String fullName = UserProfileTestFactory.FULLNAME;
 
 		private MockedStatic<DokumentTypeBuilder> dokumentTypeBuilderMockedStatic;
@@ -316,7 +311,7 @@ class ExportBescheidServiceTest {
 			dokumentTypeBuilderMockedStatic.when(DokumentTypeBuilder::builder).thenReturn(dokumentTypeBuilder);
 
 			when(dokumentTypeBuilder.withBescheid(bescheid)).thenReturn(dokumentTypeBuilder);
-			when(dokumentTypeBuilder.withFiles(attachments)).thenReturn(dokumentTypeBuilder);
+			when(dokumentTypeBuilder.withFiles(files)).thenReturn(dokumentTypeBuilder);
 			when(dokumentTypeBuilder.withFullName(fullName)).thenReturn(dokumentTypeBuilder);
 			when(dokumentTypeBuilder.withOrganisationseinheitenId(BescheidExportInputTestFactory.ORGANISATIONSEINHEITEN_ID))
 					.thenReturn(dokumentTypeBuilder);
@@ -347,7 +342,7 @@ class ExportBescheidServiceTest {
 		void shouldBuildWithOzgFiles() {
 			callService();
 
-			verify(dokumentTypeBuilder).withFiles(attachments);
+			verify(dokumentTypeBuilder).withFiles(files);
 		}
 
 		@Test