diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/DokumentTypeCreator.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/DokumentTypeCreator.java
index 240735b34501fe979d02f97e8b45a7f848faf3db..110c39b29c1320f72900a37af7f77e2b469895b1 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/DokumentTypeCreator.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/DokumentTypeCreator.java
@@ -1,7 +1,9 @@
 package de.ozgcloud.alfa.export;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
+import java.util.Optional;
 import java.util.stream.Stream;
 
 import org.apache.commons.lang3.StringUtils;
@@ -9,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import de.ozgcloud.alfa.common.file.OzgFile;
+import de.ozgcloud.alfa.vorgang.Eingang;
 import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
 import de.xoev.xdomea.AllgemeineMetadatenType;
 import de.xoev.xdomea.DokumentType;
@@ -30,7 +33,8 @@ class DokumentTypeCreator {
 	private VersionTypeCreator versionTypeCreator;
 
 	public Stream<DokumentType> createDokumentTypen(VorgangWithEingang vorgang) {
-		var ozgFiles = exportFileService.getAllPdfs(vorgang.getEingang().getId()).toList();
+		var ozgFiles = Optional.ofNullable(vorgang.getEingang()).map(Eingang::getId).map(exportFileService::getAllPdfs).map(Stream::toList)
+				.orElse(Collections.emptyList());
 		List<DokumentType> dokumenten = new ArrayList<>(ozgFiles.size());
 		for (var i = 0; i < ozgFiles.size(); i++) {
 			dokumenten.add(createDokumentType(i + 1, vorgang, ozgFiles.get(i)));
diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/FeldGruppeTypeCreator.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/FeldGruppeTypeCreator.java
index 2e4673d6394430f9518226a354125120fbfccd60..94ae9651d325f3b22392b32d00643492fbe124a2 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/FeldGruppeTypeCreator.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/FeldGruppeTypeCreator.java
@@ -1,8 +1,11 @@
 package de.ozgcloud.alfa.export;
 
+import static java.util.Optional.*;
+
 import java.time.format.DateTimeFormatter;
 import java.util.List;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
 import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
@@ -24,13 +27,14 @@ class FeldGruppeTypeCreator {
 	}
 
 	List<FeldType> createFeldType(VorgangWithEingang vorgang) {
+		var antragsteller = ofNullable(vorgang.getEingang()).flatMap(eingang -> ofNullable(eingang.getAntragsteller()));
 		return List.of(
 				ExportFelder.LEIKA_ID.createFeld(),
 				ExportFelder.DATUM_ANTRAGSEINGANG.createFeld(DateTimeFormatter.ISO_DATE_TIME.format(vorgang.getCreatedAt())),
-				ExportFelder.NAME.createFeld(vorgang.getEingang().getAntragsteller().getNachname()),
-				ExportFelder.VORNAME.createFeld(vorgang.getEingang().getAntragsteller().getVorname()),
-				ExportFelder.GEBURTSDATUM.createFeld(vorgang.getEingang().getAntragsteller().getGeburtsdatum()),
-				ExportFelder.PLZ.createFeld(vorgang.getEingang().getAntragsteller().getPlz()));
+				ExportFelder.NAME.createFeld(antragsteller.flatMap(a -> ofNullable(a.getNachname())).orElse(StringUtils.EMPTY)),
+				ExportFelder.VORNAME.createFeld(antragsteller.flatMap(a -> ofNullable(a.getVorname())).orElse(StringUtils.EMPTY)),
+				ExportFelder.GEBURTSDATUM.createFeld(antragsteller.flatMap(a -> ofNullable(a.getGeburtsdatum())).orElse(StringUtils.EMPTY)),
+				ExportFelder.PLZ.createFeld(antragsteller.flatMap(a -> ofNullable(a.getPlz())).orElse(StringUtils.EMPTY)));
 	}
 
 }
diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/PrimaerdokumentTypeCreator.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/PrimaerdokumentTypeCreator.java
index eb2878a6743cb451eae8412552e5ca2be7725f30..948ef56d838bc653435e0bd1a206a20c6175963a 100644
--- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/PrimaerdokumentTypeCreator.java
+++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/PrimaerdokumentTypeCreator.java
@@ -1,5 +1,8 @@
 package de.ozgcloud.alfa.export;
 
+import static java.util.Optional.*;
+
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -17,7 +20,9 @@ class PrimaerdokumentTypeCreator {
 		var primaerdokument = new PrimaerdokumentType();
 		primaerdokument.setDateiname(createDateiname(ozgFile));
 		primaerdokument.setDateinameOriginal(ozgFile.getName());
-		primaerdokument.setErsteller(vorgang.getEingang().getHeader().getFormEngineName());
+		var formEngineName = ofNullable(vorgang.getEingang()).flatMap(
+				eingang -> ofNullable(eingang.getHeader()).flatMap(header -> ofNullable(header.getFormEngineName()))).orElse(StringUtils.EMPTY);
+		primaerdokument.setErsteller(formEngineName);
 		return primaerdokument;
 	}
 
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/DokumentTypeCreatorTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/DokumentTypeCreatorTest.java
index 743f719d02220b470dc129ad4151a68f4c8a8b17..dd36ce90a40d24afe89e9aae3c0b34c4cdfc41a4 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/DokumentTypeCreatorTest.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/DokumentTypeCreatorTest.java
@@ -45,13 +45,10 @@ class DokumentTypeCreatorTest {
 		private final VorgangWithEingang vorgang = VorgangWithEingangTestFactory.create();
 		private final OzgFile ozgFile = OzgFileTestFactory.create();
 
-		@BeforeEach
-		void init() {
-			when(exportFileService.getAllPdfs(EingangTestFactory.ID)).thenReturn(Stream.of(ozgFile));
-		}
-
 		@Test
 		void shouldLoadlAllPdfs() {
+			mockExportFileService();
+
 			creator.createDokumentTypen(vorgang);
 
 			verify(exportFileService).getAllPdfs(EingangTestFactory.ID);
@@ -59,11 +56,31 @@ class DokumentTypeCreatorTest {
 
 		@Test
 		void shouldCreateDokumentType() {
+			mockExportFileService();
+
 			creator.createDokumentTypen(vorgang);
 
 			verify(creator).createDokumentType(1, vorgang, ozgFile);
 		}
 
+		@Test
+		void shouldNotLoadAnyPdf() {
+			creator.createDokumentTypen(VorgangWithEingang.builder().eingang(null).build());
+
+			verify(exportFileService, never()).getAllPdfs(EingangTestFactory.ID);
+		}
+
+		@Test
+		void shouldReturnEmptyStreamIfEingangNull() {
+			var result = creator.createDokumentTypen(VorgangWithEingang.builder().eingang(null).build());
+
+			assertThat(result).isEmpty();
+		}
+
+		private void mockExportFileService() {
+			when(exportFileService.getAllPdfs(EingangTestFactory.ID)).thenReturn(Stream.of(ozgFile));
+		}
+
 	}
 
 	@Nested
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/FeldGruppeTypeCreatorTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/FeldGruppeTypeCreatorTest.java
index c735caf9b7ef10e6a683024058bb1a65795bd062..b912df3f625cecfe171bbd8b37c1c5f4ae200e2b 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/FeldGruppeTypeCreatorTest.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/FeldGruppeTypeCreatorTest.java
@@ -3,12 +3,14 @@ package de.ozgcloud.alfa.export;
 import static org.assertj.core.api.Assertions.*;
 import static org.mockito.Mockito.*;
 
+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.mockito.Spy;
 
 import de.ozgcloud.alfa.vorgang.AntragstellerTestFactory;
+import de.ozgcloud.alfa.vorgang.EingangTestFactory;
 import de.ozgcloud.alfa.vorgang.VorgangHeaderTestFactory;
 import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
 import de.ozgcloud.alfa.vorgang.VorgangWithEingangTestFactory;
@@ -179,32 +181,59 @@ class FeldGruppeTypeCreatorTest {
 
 			@Test
 			void shouldHaveName() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getName).isEqualTo("Name");
 			}
 
 			@Test
 			void shouldNotHaveBeschreibung() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getBeschreibung).isNull();
 			}
 
 			@Test
 			void shouldHaveWert() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(AntragstellerTestFactory.NACHNAME);
 			}
 
+			@Test
+			void shouldBeEmptyStringForNullEingang() {
+				var mapped = create(VorgangWithEingangTestFactory.createBuilder().eingang(null).build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
+			@Test
+			void shouldBeEmptyStringForNullAntragsteller() {
+				var mapped = create(
+						VorgangWithEingangTestFactory.createBuilder().eingang(EingangTestFactory.createBuilder().antragsteller(null).build())
+								.build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
+			@Test
+			void shouldBeEmptyStringForNullNachname() {
+				var mapped = create(
+						VorgangWithEingangTestFactory.createBuilder().eingang(
+										EingangTestFactory.createBuilder().antragsteller(AntragstellerTestFactory.createBuilder().nachname(null).build())
+												.build())
+								.build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
 			@DisplayName("DatentypCode")
 			@Nested
 			class TestDatentypCode {
 
 				@Test
 				void shouldHaveCode() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getCode)
 							.isEqualTo(DatentypCode.STRING.getCode());
@@ -212,7 +241,7 @@ class FeldGruppeTypeCreatorTest {
 
 				@Test
 				void shouldHaveListURI() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getListURI)
 							.isEqualTo("urn:xoev-de:xdomea:codeliste:datentyp");
@@ -220,14 +249,14 @@ class FeldGruppeTypeCreatorTest {
 
 				@Test
 				void shouldHaveListVersionID() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getListVersionID).isEqualTo("1.1");
 				}
 
 			}
 
-			private FeldType create() {
+			private FeldType create(VorgangWithEingang vorgang) {
 				return creator.createFeldType(vorgang).stream()
 						.filter(feldType -> feldType.getName().equals(ExportFelder.NAME.getName()))
 						.toList().get(0);
@@ -240,32 +269,59 @@ class FeldGruppeTypeCreatorTest {
 
 			@Test
 			void shouldHaveName() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getName).isEqualTo("Vorname");
 			}
 
 			@Test
 			void shouldHaveNotHaveBeschreibung() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getBeschreibung).isNull();
 			}
 
 			@Test
 			void shouldHaveWert() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(AntragstellerTestFactory.VORNAME);
 			}
 
+			@Test
+			void shouldBeEmptyStringForNullEingang() {
+				var mapped = create(VorgangWithEingangTestFactory.createBuilder().eingang(null).build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
+			@Test
+			void shouldBeEmptyStringForNullAntragsteller() {
+				var mapped = create(
+						VorgangWithEingangTestFactory.createBuilder().eingang(EingangTestFactory.createBuilder().antragsteller(null).build())
+								.build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
+			@Test
+			void shouldBeEmptyStringForNullVorname() {
+				var mapped = create(
+						VorgangWithEingangTestFactory.createBuilder().eingang(
+										EingangTestFactory.createBuilder().antragsteller(AntragstellerTestFactory.createBuilder().vorname(null).build())
+												.build())
+								.build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
 			@DisplayName("DatentypCode")
 			@Nested
 			class TestDatentypCode {
 
 				@Test
 				void shouldHaveCode() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getCode)
 							.isEqualTo(DatentypCode.STRING.getCode());
@@ -273,7 +329,7 @@ class FeldGruppeTypeCreatorTest {
 
 				@Test
 				void shouldHaveListURI() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getListURI)
 							.isEqualTo("urn:xoev-de:xdomea:codeliste:datentyp");
@@ -281,14 +337,14 @@ class FeldGruppeTypeCreatorTest {
 
 				@Test
 				void shouldHaveListVersionID() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getListVersionID).isEqualTo("1.1");
 				}
 
 			}
 
-			private FeldType create() {
+			private FeldType create(VorgangWithEingang vorgang) {
 				return creator.createFeldType(vorgang).stream()
 						.filter(feldType -> feldType.getName().equals(ExportFelder.VORNAME.getName()))
 						.toList().get(0);
@@ -301,39 +357,66 @@ class FeldGruppeTypeCreatorTest {
 
 			@Test
 			void shouldHaveName() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getName).isEqualTo("Geburtsdatum");
 			}
 
 			@Test
 			void shouldHaveNotHaveBeschreibung() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getBeschreibung).isNull();
 			}
 
 			@Test
 			void shouldHaveWert() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(AntragstellerTestFactory.GEBURTSDATUM_STR);
 			}
 
+			@Test
+			void shouldBeEmptyStringForNullEingang() {
+				var mapped = create(VorgangWithEingangTestFactory.createBuilder().eingang(null).build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
+			@Test
+			void shouldBeEmptyStringForNullAntragsteller() {
+				var mapped = create(
+						VorgangWithEingangTestFactory.createBuilder().eingang(EingangTestFactory.createBuilder().antragsteller(null).build())
+								.build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
+			@Test
+			void shouldBeEmptyStringForNullGeburtsdatum() {
+				var mapped = create(
+						VorgangWithEingangTestFactory.createBuilder().eingang(
+										EingangTestFactory.createBuilder().antragsteller(AntragstellerTestFactory.createBuilder().geburtsdatum(null).build())
+												.build())
+								.build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
 			@DisplayName("DatentypCode")
 			@Nested
 			class TestDatentypCode {
 
 				@Test
 				void shouldHaveCode() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getCode).isEqualTo(DatentypCode.DATE.getCode());
 				}
 
 				@Test
 				void shouldHaveListURI() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getListURI)
 							.isEqualTo("urn:xoev-de:xdomea:codeliste:datentyp");
@@ -341,14 +424,14 @@ class FeldGruppeTypeCreatorTest {
 
 				@Test
 				void shouldHaveListVersionID() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getListVersionID).isEqualTo("1.1");
 				}
 
 			}
 
-			private FeldType create() {
+			private FeldType create(VorgangWithEingang vorgang) {
 				return creator.createFeldType(vorgang).stream()
 						.filter(feldType -> feldType.getName().equals(ExportFelder.GEBURTSDATUM.getName()))
 						.toList().get(0);
@@ -361,32 +444,59 @@ class FeldGruppeTypeCreatorTest {
 
 			@Test
 			void shouldHaveName() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getName).isEqualTo("PLZAntragsteller");
 			}
 
 			@Test
 			void shouldHaveNotHaveBeschreibung() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getBeschreibung).isNull();
 			}
 
 			@Test
 			void shouldHaveWert() {
-				var mapped = create();
+				var mapped = create(vorgang);
 
 				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(AntragstellerTestFactory.PLZ);
 			}
 
+			@Test
+			void shouldBeEmptyStringForNullEingang() {
+				var mapped = create(VorgangWithEingangTestFactory.createBuilder().eingang(null).build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
+			@Test
+			void shouldBeEmptyStringForNullAntragsteller() {
+				var mapped = create(
+						VorgangWithEingangTestFactory.createBuilder().eingang(EingangTestFactory.createBuilder().antragsteller(null).build())
+								.build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
+			@Test
+			void shouldBeEmptyStringForNullPlz() {
+				var mapped = create(
+						VorgangWithEingangTestFactory.createBuilder().eingang(
+										EingangTestFactory.createBuilder().antragsteller(AntragstellerTestFactory.createBuilder().plz(null).build())
+												.build())
+								.build());
+
+				assertThat(mapped).extracting(FeldType::getWert).isEqualTo(StringUtils.EMPTY);
+			}
+
 			@DisplayName("DatentypCode")
 			@Nested
 			class TestDatentypCode {
 
 				@Test
 				void shouldHaveCode() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getCode)
 							.isEqualTo(DatentypCode.STRING.getCode());
@@ -394,7 +504,7 @@ class FeldGruppeTypeCreatorTest {
 
 				@Test
 				void shouldHaveListURI() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getListURI)
 							.isEqualTo("urn:xoev-de:xdomea:codeliste:datentyp");
@@ -402,14 +512,14 @@ class FeldGruppeTypeCreatorTest {
 
 				@Test
 				void shouldHaveListVersionID() {
-					var mapped = create();
+					var mapped = create(vorgang);
 
 					assertThat(mapped).extracting(FeldType::getDatentyp).extracting(DatentypCodeType::getListVersionID).isEqualTo("1.1");
 				}
 
 			}
 
-			private FeldType create() {
+			private FeldType create(VorgangWithEingang vorgang) {
 				return creator.createFeldType(vorgang).stream()
 						.filter(feldType -> feldType.getName().equals(ExportFelder.PLZ.getName()))
 						.toList().get(0);
diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/PrimaerdokumentTypeCreatorTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/PrimaerdokumentTypeCreatorTest.java
index d2cea2a5a3374289b5f4c2d5b3a5a1bd31d907cc..2a6d30db25db7301c9c2d32c2e649abe2954d63c 100644
--- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/PrimaerdokumentTypeCreatorTest.java
+++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/PrimaerdokumentTypeCreatorTest.java
@@ -3,6 +3,7 @@ package de.ozgcloud.alfa.export;
 import static org.assertj.core.api.Assertions.*;
 import static org.mockito.Mockito.*;
 
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
@@ -14,6 +15,7 @@ import de.ozgcloud.alfa.common.TestUtils;
 import de.ozgcloud.alfa.common.file.OzgFile;
 import de.ozgcloud.alfa.common.file.OzgFileTestFactory;
 import de.ozgcloud.alfa.vorgang.EingangHeaderTestFactory;
+import de.ozgcloud.alfa.vorgang.EingangTestFactory;
 import de.ozgcloud.alfa.vorgang.VorgangWithEingang;
 import de.ozgcloud.alfa.vorgang.VorgangWithEingangTestFactory;
 
@@ -66,6 +68,40 @@ class PrimaerdokumentTypeCreatorTest {
 		}
 	}
 
+	@Nested
+	class TestErsteller {
+
+		private final OzgFile ozgFile = OzgFileTestFactory.create();
+
+		@Test
+		void shouldBeEmptyStringForNullEingang() {
+			var vorgang = VorgangWithEingangTestFactory.createBuilder().eingang(null).build();
+			var primaerdokument = creator.createPrimaerdokumentType(vorgang, ozgFile);
+
+			assertThat(primaerdokument.getErsteller()).isEqualTo(StringUtils.EMPTY);
+		}
+
+		@Test
+		void shouldBeEmptyStringForNullEingangHeader() {
+			var vorgang = VorgangWithEingangTestFactory.createBuilder().eingang(EingangTestFactory.createBuilder().header(null).build()).build();
+
+			var primaerdokument = creator.createPrimaerdokumentType(vorgang, ozgFile);
+
+			assertThat(primaerdokument.getErsteller()).isEqualTo(StringUtils.EMPTY);
+		}
+
+		@Test
+		void shouldBeEmptyStringForNullFormEngineName() {
+			var vorgang = VorgangWithEingangTestFactory.createBuilder()
+					.eingang(EingangTestFactory.createBuilder().header(EingangHeaderTestFactory.createBuilder().formEngineName(null).build()).build())
+					.build();
+
+			var primaerdokument = creator.createPrimaerdokumentType(vorgang, ozgFile);
+
+			assertThat(primaerdokument.getErsteller()).isEqualTo(StringUtils.EMPTY);
+		}
+	}
+
 	@Nested
 	class TestCreateDateiname {