diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileMapper.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileMapper.java
index 8b39ba197630a28ed551c50798bb761e6893d2cd..e1f6f6e7ebd565f9b317664260c2da2be3a555f0 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileMapper.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/file/AttachmentFileMapper.java
@@ -24,11 +24,18 @@
 package de.ozgcloud.nachrichten.file;
 
 import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
 
-import de.ozgcloud.vorgang.grpc.file.GrpcOzgFile;
+import de.ozgcloud.apilib.file.OzgCloudFile;
+import de.ozgcloud.apilib.file.OzgCloudUploadFile;
 
 @Mapper
 interface AttachmentFileMapper {
 
-	AttachmentFile fromOzgFile(GrpcOzgFile ozgFile);
+	@Mapping(target = "vorgangId", ignore = true)
+	AttachmentFile fromOzgCloudFile(OzgCloudFile ozgCloudFile);
+
+	@Mapping(target = "fileName", source = "name")
+	@Mapping(target = "fieldName", constant = AttachmentFileService.ATTACHMENT_NAME)
+	OzgCloudUploadFile toOzgCloudUploadFile(AttachmentFile attachmentFile);
 }
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/file/AttachmentFileMapperTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/file/AttachmentFileMapperTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..68dd898d3e247acbbb0176ca1debf15eacf9ca4e
--- /dev/null
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/file/AttachmentFileMapperTest.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
+ * Ministerpräsidenten des Landes Schleswig-Holstein
+ * Staatskanzlei
+ * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
+ *
+ * Lizenziert unter der EUPL, Version 1.2 oder - sobald
+ * diese von der Europäischen Kommission genehmigt wurden -
+ * Folgeversionen der EUPL ("Lizenz");
+ * Sie dürfen dieses Werk ausschließlich gemäß
+ * dieser Lizenz nutzen.
+ * Eine Kopie der Lizenz finden Sie hier:
+ *
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+ *
+ * Sofern nicht durch anwendbare Rechtsvorschriften
+ * gefordert oder in schriftlicher Form vereinbart, wird
+ * die unter der Lizenz verbreitete Software "so wie sie
+ * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
+ * ausdrücklich oder stillschweigend - verbreitet.
+ * Die sprachspezifischen Genehmigungen und Beschränkungen
+ * unter der Lizenz sind dem Lizenztext zu entnehmen.
+ */
+package de.ozgcloud.nachrichten.file;
+
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mapstruct.factory.Mappers;
+
+import de.ozgcloud.apilib.file.OzgCloudFile;
+import de.ozgcloud.apilib.file.OzgCloudFileTestFactory;
+import de.ozgcloud.apilib.file.OzgCloudUploadFile;
+import de.ozgcloud.apilib.file.OzgCloudUploadFileTestFactory;
+
+class AttachmentFileMapperTest {
+
+	private final AttachmentFileMapper mapper = Mappers.getMapper(AttachmentFileMapper.class);
+
+	@Nested
+	class TestFromOzgCloudFile {
+
+		private static final OzgCloudFile OZG_CLOUD_FILE = OzgCloudFileTestFactory.createBuilder()
+				.contentType(AttachmentFileTestFactory.CONTENT_TYPE)
+				.name(AttachmentFileTestFactory.NAME)
+				.build();
+
+		@Test
+		void shouldMapFromOzgCloudFile() {
+
+			var result = mapper.fromOzgCloudFile(OZG_CLOUD_FILE);
+
+			assertThat(result).usingRecursiveComparison().ignoringFields("vorgangId").isEqualTo(AttachmentFileTestFactory.create());
+		}
+	}
+
+	@Nested
+	class TestToOzgCloudUploadFile {
+
+		private static final OzgCloudUploadFile OZG_CLOUD_UPLOAD_FILE = OzgCloudUploadFileTestFactory.createBuilder()
+				.fieldName(AttachmentFileService.ATTACHMENT_NAME)
+				.fileName(AttachmentFileTestFactory.NAME)
+				.contentType(AttachmentFileTestFactory.CONTENT_TYPE)
+				.vorgangId(AttachmentFileTestFactory.VORGANG_ID)
+				.build();
+
+		@Test
+		void shouldMapToOzgCloudUploadFile() {
+			var result = mapper.toOzgCloudUploadFile(AttachmentFileTestFactory.create());
+
+			assertThat(result).usingRecursiveComparison().isEqualTo(OZG_CLOUD_UPLOAD_FILE);
+		}
+	}
+}
\ No newline at end of file