diff --git a/alfa-service/src/main/java/de/ozgcloud/alfa/common/file/OzgFile.java b/alfa-service/src/main/java/de/ozgcloud/alfa/common/file/OzgFile.java
index 53a19e71a3c61bff81139098a1b75bc6f64ecda4..3b318c7c83cb1e729dbfb9497cb2cae97bcb0aef 100644
--- a/alfa-service/src/main/java/de/ozgcloud/alfa/common/file/OzgFile.java
+++ b/alfa-service/src/main/java/de/ozgcloud/alfa/common/file/OzgFile.java
@@ -29,6 +29,7 @@ import de.ozgcloud.alfa.common.binaryfile.FileId;
 import lombok.AccessLevel;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
+import lombok.EqualsAndHashCode;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
 
@@ -36,10 +37,13 @@ import lombok.NoArgsConstructor;
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 @AllArgsConstructor(access = AccessLevel.PACKAGE)
 @Getter
+@EqualsAndHashCode(onlyExplicitlyIncluded = true)
 public class OzgFile {
 
 	@JsonIgnore
+	@EqualsAndHashCode.Include
 	private FileId id;
+	@EqualsAndHashCode.Include
 	private String name;
 	private long size;
 
diff --git a/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailServiceTest.java b/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailServiceTest.java
index 29ca6ad24e03e5848311988b16a4280e1c089074..85c964af5fddcf578e6074bec1c596245b121d0b 100644
--- a/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailServiceTest.java
+++ b/alfa-service/src/test/java/de/ozgcloud/alfa/postfach/PostfachMailServiceTest.java
@@ -259,12 +259,12 @@ class PostfachMailServiceTest {
 			class TestCall {
 
 				private final Stream<PostfachMail> postfachMail = Stream.of(postfachNachricht);
-				private final Stream<OzgFile> ozgFile = Stream.of(OzgFileTestFactory.create());
+				private final Stream<OzgFile> ozgFiles = Stream.of(OzgFileTestFactory.create());
 
 				@BeforeEach
 				void mock() {
 					when(remoteService.findPostfachMails(anyString())).thenReturn(postfachMail);
-					when(fileService.getFiles(anyList())).thenReturn(ozgFile);
+					when(fileService.getFiles(anyList())).thenReturn(ozgFiles);
 				}
 
 				@Test
diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportData.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportData.java
index e241271bba7b6ef3c375866639eda13f7d369ab7..bea5d003d18ce25769862c1f57f22e92584e469e 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportData.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportData.java
@@ -1,6 +1,6 @@
 package de.ozgcloud.alfa.export;
 
-import java.util.List;
+import java.util.Set;
 
 import de.ozgcloud.alfa.common.file.OzgFile;
 import de.xoev.xdomea.AbgabeAbgabe0401;
@@ -16,6 +16,6 @@ class ExportData {
 
 	private String exportFilename;
 	private AbgabeAbgabe0401 abgabe;
-	private List<OzgFile> exportFiles;
+	private Set<OzgFile> exportFiles;
 
 }
diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java
index dfa730ff9003f54fcef6bc626d36c471dccec27e..65de7b375a079150afa974bd1dfc23ea0607b598 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java
@@ -6,8 +6,9 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.nio.charset.StandardCharsets;
-import java.util.List;
 import java.util.Optional;
+import java.util.Set;
+import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
@@ -78,7 +79,7 @@ class ExportService {
 						postfachMailData.getAttachments().stream(),
 						bescheidData.getFiles().stream())
 				.flatMap(s -> s)
-				.toList();
+				.collect(Collectors.toSet());
 		return ExportData.builder().abgabe(abgabe).exportFilename(buildXmlFilename(filenameId)).exportFiles(exportFiles).build();
 	}
 
@@ -114,7 +115,7 @@ class ExportService {
 		zipOutputStream.closeEntry();
 	}
 
-	private void putFilesIntoZip(List<OzgFile> ozgFiles, ZipOutputStream zipOutputStream) {
+	private void putFilesIntoZip(Set<OzgFile> ozgFiles, ZipOutputStream zipOutputStream) {
 		ozgFiles.forEach(ozgFile -> putOzgFileIntoZip(ozgFile, zipOutputStream));
 	}
 
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java
index 9c4bfd7a1291e1a06ea16cc902d2ee60019f4a41..55e271e0050a302b0890245d0ca1bdc9f5adaa93 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/bescheid/DokumentTypeBuilderTest.java
@@ -34,7 +34,7 @@ import de.xoev.xdomea.IdentifikationObjektType;
 class DokumentTypeBuilderTest {
 	private final String fullName = UserProfileTestFactory.FULLNAME;
 	private final Bescheid bescheid = BescheidTestFactory.create();
-	private final OzgFile document = OzgFileTestFactory.create();
+	private final OzgFile document = OzgFileTestFactory.createWithUniqueId();
 
 	@Spy
 	private final DokumentTypeBuilder builder = DokumentTypeBuilder.builder()
@@ -149,7 +149,7 @@ class DokumentTypeBuilderTest {
 		@Nested
 		class TestWithOneAnlage {
 			private final AnlageDokumentType anlageDokumentAttachment = AnlageDokumentTypeTestFactory.create();
-			private final OzgFile attachment = OzgFileTestFactory.create();
+			private final OzgFile attachment = OzgFileTestFactory.createWithUniqueId();
 
 			@Test
 			void shouldHaveOneAnlage() {
@@ -250,7 +250,7 @@ class DokumentTypeBuilderTest {
 		@Mock
 		private AnlageDokumentTypeBuilder anlageDokumentTypeBuilder;
 		private final AnlageDokumentType expectedAnlage = AnlageDokumentTypeTestFactory.create();
-		private final OzgFile attachment = OzgFileTestFactory.create();
+		private final OzgFile attachment = OzgFileTestFactory.createWithUniqueId();
 
 		@BeforeEach
 		void setUp() {
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 bd8d907e7cc79c9830cebdcb81e4061609657396..b72ed1351f816e7097735d394c9df7b3813f5c8e 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,8 +154,8 @@ 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();
+		private final OzgFile document = OzgFileTestFactory.createWithUniqueId();
+		private final OzgFile attachment = OzgFileTestFactory.createWithUniqueId();
 
 		@BeforeEach
 		void setUpMocks() {
@@ -243,7 +243,7 @@ class ExportBescheidServiceTest {
 
 		@Test
 		void shouldReturnGottenOzgFiles() {
-			var expectedOzgFile = OzgFileTestFactory.create();
+			var expectedOzgFile = OzgFileTestFactory.createWithUniqueId();
 			when(binaryFileService.getFiles(fileIds)).thenReturn(Stream.of(expectedOzgFile));
 
 			var resultOzgFiles = service.getAttachments(bescheid);
@@ -255,7 +255,6 @@ class ExportBescheidServiceTest {
 	@Nested
 	class TestAddBescheidExportData {
 		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();
 
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/common/PrimaerdokumentTypeBuilderTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/common/PrimaerdokumentTypeBuilderTest.java
index bc41f37e450711daf6946261f7d85a4102d6fc99..c269f1948b14a8484a0250f77b29fcbe95fe8906 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/common/PrimaerdokumentTypeBuilderTest.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/common/PrimaerdokumentTypeBuilderTest.java
@@ -16,7 +16,7 @@ import de.ozgcloud.alfa.common.file.OzgFileTestFactory;
 
 class PrimaerdokumentTypeBuilderTest {
 
-	private final PrimaerdokumentTypeBuilder builder = PrimaerdokumentTypeBuilder.builder().withOzgFile(OzgFileTestFactory.create());
+	private final PrimaerdokumentTypeBuilder builder = PrimaerdokumentTypeBuilder.builder().withOzgFile(OzgFileTestFactory.createWithUniqueId());
 
 	@Nested
 	class TestBuild {
@@ -26,7 +26,7 @@ class PrimaerdokumentTypeBuilderTest {
 		private static final String ERSTELLER = "Ersteller";
 		private static final String GENERATED_FILE_NAME = "file_name";
 		private static final ZonedDateTime CREATED_AT = ZonedDateTime.now();
-		private final OzgFile ozgFile = OzgFileTestFactory.create();
+		private final OzgFile ozgFile = OzgFileTestFactory.createWithUniqueId();
 
 		@BeforeEach
 		void setUp() {
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportDataTestFactory.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportDataTestFactory.java
index b6b8549770ace6c03514451fc6a5ab115af2b50f..84f4c718b85e1b76c6fa69fa3103fbd0c62fbe51 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportDataTestFactory.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportDataTestFactory.java
@@ -1,6 +1,6 @@
 package de.ozgcloud.alfa.export;
 
-import java.util.List;
+import java.util.Set;
 
 import de.ozgcloud.alfa.common.file.OzgFile;
 import de.ozgcloud.alfa.common.file.OzgFileTestFactory;
@@ -20,6 +20,6 @@ class ExportDataTestFactory {
 		return ExportData.builder()
 				.exportFilename(EXPORT_FILENAME)
 				.abgabe(ABGABE)
-				.exportFiles(List.of(OZG_FILE));
+				.exportFiles(Set.of(OZG_FILE));
 	}
 }
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java
index 6b7317d5dda8cd690a9ee490d22e9258bc4a2945..df101b3da9a0289adfc7f9322e2e30a122b62715 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java
@@ -136,8 +136,8 @@ class ExportServiceTest {
 		private final NkAbgabeType kopfType = NkAbgabeTypeTestFactory.create();
 		private final AbgabeAbgabe0401 abgabe = AbgabeAbgabe0401TestFactory.create();
 		private final AkteType akteType = AkteTypeTestFactory.create();
-		private final List<OzgFile> representations = List.of(OzgFileTestFactory.create());
-		private final List<OzgFile> attachments = List.of(OzgFileTestFactory.create());
+		private final List<OzgFile> representations = List.of(OzgFileTestFactory.createWithUniqueId());
+		private final List<OzgFile> attachments = List.of(OzgFileTestFactory.createWithUniqueId());
 		private final List<DokumentType> representationsDokumentTypes = List.of(DokumentTypeTestFactory.create());
 		private final List<DokumentType> attachmentsDokumentTypes = List.of(DokumentTypeTestFactory.create());
 		private final List<HistorienProtokollInformationType> historienProtokollInformationTypes = List.of(