diff --git a/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentMapper.java b/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentMapper.java
index 85b43ea2c05fe716168026578a7a2071cd937ee1..ddcddab63cbcd09941b61a678ce495ff5f389384 100644
--- a/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentMapper.java
+++ b/bescheid-manager/src/main/java/de/ozgcloud/document/DocumentMapper.java
@@ -24,6 +24,7 @@
 package de.ozgcloud.document;
 
 import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
 
@@ -32,6 +33,7 @@ import de.ozgcloud.bescheid.attacheditem.AttachedItem;
 @Mapper
 interface DocumentMapper {
 
+	@Mapping(target = "allFields", ignore = true)
 	@Mapping(target = "unknownFields", ignore = true)
 	@Mapping(target = "typeBytes", ignore = true)
 	@Mapping(target = "nachrichtTextBytes", ignore = true)
@@ -49,8 +51,8 @@ interface DocumentMapper {
 				.id(attachedItem.getId())
 				.type(MapUtils.getString(attachedItem.getItem(), Document.FIELD_DOCUMENT_TYPE))
 				.fileId(MapUtils.getString(attachedItem.getItem(), Document.FIELD_DOCUMENT_FILE))
-				.nachrichtText(MapUtils.getString(attachedItem.getItem(), Document.FIELD_NACHRICHT_TEXT))
-				.nachrichtSubject(MapUtils.getString(attachedItem.getItem(), Document.FIELD_NACHRICHT_SUBJECT))
+				.nachrichtText(MapUtils.getString(attachedItem.getItem(), Document.FIELD_NACHRICHT_TEXT, StringUtils.EMPTY))
+				.nachrichtSubject(MapUtils.getString(attachedItem.getItem(), Document.FIELD_NACHRICHT_SUBJECT, StringUtils.EMPTY))
 				.build();
 	}
 }
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/AttachedItemTestFactory.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/AttachedItemTestFactory.java
index 18fa5737493cae7b9fc7907e643844f661a4d2dc..56fb0e8ad3050b0dc143f888671c4ef9c59bb8f2 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/AttachedItemTestFactory.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/attacheditem/AttachedItemTestFactory.java
@@ -23,6 +23,7 @@
  */
 package de.ozgcloud.bescheid.attacheditem;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -52,7 +53,7 @@ public class AttachedItemTestFactory {
 				.build();
 	}
 
-	public static Map<String,  Object> createBescheidItem() {
+	public static Map<String, Object> createBescheidItem() {
 		return Map.of(
 				BescheidItem.FIELD_STATUS, BescheidItem.Status.DRAFT,
 				BescheidItem.FIELD_BESCHIEDEN_AM, BESCHEIDEN_AM,
@@ -65,19 +66,22 @@ public class AttachedItemTestFactory {
 	}
 
 	public static AttachedItem createDocument() {
+		return createDocumentBuilder().build();
+	}
+
+	public static AttachedItem.AttachedItemBuilder createDocumentBuilder() {
 		return createBuilder()
 				.itemName(DocumentService.DOCUMENT_ITEM_NAME)
-				.item(createDocumentItem())
-				.build();
+				.item(createDocumentItem());
 	}
 
-	public static Map<String, Object> createDocumentItem() {
-		return Map.of(
-				Document.FIELD_DOCUMENT_TYPE, DocumentService.DOCUMENT_TYPE,
-				Document.FIELD_DOCUMENT_FILE, DocumentTestFactory.DOCUMENT_FILE,
-				Document.FIELD_NACHRICHT_TEXT, DocumentTestFactory.NACHRICHT_TEXT,
-				Document.FIELD_NACHRICHT_SUBJECT, DocumentTestFactory.NACHRICHT_SUBJECT
-		);
+	public static HashMap<String, Object> createDocumentItem() {
+		var map = new HashMap<String, Object>();
+		map.put(Document.FIELD_DOCUMENT_TYPE, DocumentService.DOCUMENT_TYPE);
+		map.put(Document.FIELD_DOCUMENT_FILE, DocumentTestFactory.DOCUMENT_FILE);
+		map.put(Document.FIELD_NACHRICHT_TEXT, DocumentTestFactory.NACHRICHT_TEXT);
+		map.put(Document.FIELD_NACHRICHT_SUBJECT, DocumentTestFactory.NACHRICHT_SUBJECT);
+		return map;
 	}
 
 	public static AttachedItemBuilder createBuilder() {
diff --git a/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentMapperTest.java b/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentMapperTest.java
index 889c1d5609d248320868317704b5b553ffd9bab6..39abe132bcebea883c963939d0c23fb3591fa915 100644
--- a/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentMapperTest.java
+++ b/bescheid-manager/src/test/java/de/ozgcloud/document/DocumentMapperTest.java
@@ -25,18 +25,55 @@ package de.ozgcloud.document;
 
 import static org.assertj.core.api.Assertions.*;
 
+import org.apache.commons.lang3.StringUtils;
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mapstruct.factory.Mappers;
 
+import de.ozgcloud.bescheid.attacheditem.AttachedItemTestFactory;
+
 class DocumentMapperTest {
 
 	private DocumentMapper mapper = Mappers.getMapper(DocumentMapper.class);
 
-	@Test
-	void shouldMapDocument() {
-		var result = mapper.toGrpcDocument(DocumentTestFactory.create());
+	@DisplayName("To grpc document")
+	@Nested
+	class TestToGrpcDocument {
+
+		@Test
+		void shouldMapDocument() {
+			var result = mapper.toGrpcDocument(DocumentTestFactory.create());
+
+			assertThat(result).usingRecursiveComparison().isEqualTo(GrpcDocumentTestFactory.create());
+		}
 
-		assertThat(result).usingRecursiveComparison().isEqualTo(GrpcDocumentTestFactory.create());
 	}
 
+	@DisplayName("From attached item")
+	@Nested
+	class TestFromAttachedItem {
+
+		@Test
+		void shouldMapMissingNachrichtSubjectToEmptyString() {
+			var documentItem = AttachedItemTestFactory.createDocumentItem();
+			documentItem.remove(Document.FIELD_NACHRICHT_SUBJECT);
+			var document = AttachedItemTestFactory.createDocumentBuilder().item(documentItem).build();
+
+			var result = mapper.fromAttacheItem(document);
+
+			assertThat(result.getNachrichtSubject()).isEqualTo(StringUtils.EMPTY);
+		}
+
+		@Test
+		void shouldMapMissingNachrichtTextToEmptyString() {
+			var documentItem = AttachedItemTestFactory.createDocumentItem();
+			documentItem.remove(Document.FIELD_NACHRICHT_TEXT);
+			var document = AttachedItemTestFactory.createDocumentBuilder().item(documentItem).build();
+
+			var result = mapper.fromAttacheItem(document);
+
+			assertThat(result.getNachrichtText()).isEqualTo(StringUtils.EMPTY);
+		}
+	}
 }
\ No newline at end of file