diff --git a/common/src/main/java/de/ozgcloud/eingang/common/formdata/FormData.java b/common/src/main/java/de/ozgcloud/eingang/common/formdata/FormData.java
index 44a034a849e5b5a34f20f4a369122aac82cf6d80..27d668debea6b1b69e56f327dcdea56493b4515d 100644
--- a/common/src/main/java/de/ozgcloud/eingang/common/formdata/FormData.java
+++ b/common/src/main/java/de/ozgcloud/eingang/common/formdata/FormData.java
@@ -54,11 +54,8 @@ public class FormData {
 	@Builder.Default
 	private Map<String, Object> formData = Collections.emptyMap();
 
-	private int numberOfAttachments;
 	@Singular
 	private List<IncomingFileGroup> attachments;
-
-	private int numberOfRepresentations;
 	@Singular
 	private List<IncomingFile> representations;
 
diff --git a/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormDataTestFactory.java b/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormDataTestFactory.java
index 05bdcffff581a6e8ce7e4f56fe5d86cb53054bb0..9c684458339d32dae3862512e6be32f26ac3f21d 100644
--- a/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormDataTestFactory.java
+++ b/common/src/test/java/de/ozgcloud/eingang/common/formdata/FormDataTestFactory.java
@@ -65,13 +65,10 @@ public class FormDataTestFactory {
 						SUBFORM_KEY, SUBFORM_VALUE,
 						NESTED_LIST_WITH_STRINGS_KEY, NESTED_LIST_WITH_STRINGS,
 						NESTED_LIST_WITH_OBJECTS_KEY, NESTED_LIST_WITH_OBJECTS))
-				// TODO nach entfernen des zweiten Attachments den Wert auf 1 setzen
-				.numberOfAttachments(2)
 				// TODO zweites Attachment aus der TestFactory entfernen und die entsprechenden
 				// Tests anpassen
 				.attachments(List.of(IncomingFileGroupTestFactory.create(),
 						IncomingFileGroupTestFactory.createBuilder().name(ATTACHMENT_GROUP_2).build()))
-				.numberOfRepresentations(1)
 				.representations(List.of(IncomingFileTestFactory.create()));
 	}
 
diff --git a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/FormDataMapper.java b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/FormDataMapper.java
index 4ecc509d8213d160b34c0af4e8bfc5c98afebbe3..6f633b2998461a29dcf55bcc1a95c0d87699df74 100644
--- a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/FormDataMapper.java
+++ b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/FormDataMapper.java
@@ -12,7 +12,6 @@ import org.mapstruct.Mapping;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.FormHeader;
-import de.ozgcloud.eingang.common.formdata.PostfachAddressIdentifier;
 import de.ozgcloud.eingang.common.formdata.ServiceKonto.PostfachAddress;
 import de.ozgcloud.eingang.common.formdata.StringBasedIdentifier;
 import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle;
@@ -26,10 +25,8 @@ public interface FormDataMapper {
 	@Mapping(target = "antragsteller", ignore = true)
 	@Mapping(target = "attachment", ignore = true)
 	@Mapping(target = "attachments", ignore = true)
-	@Mapping(target = "numberOfAttachments", ignore = true)
 	@Mapping(target = "representation", ignore = true)
 	@Mapping(target = "representations", ignore = true)
-	@Mapping(target = "numberOfRepresentations", ignore = true)
 
 	@Mapping(target = "id", ignore = true)
 	@Mapping(target = "header", source = "control")
@@ -80,20 +77,12 @@ public interface FormDataMapper {
 	}
 
 	default int toNumericType(String type) {
-		switch (type) {
-		case "privat":
-			return 0;
-		case "unternehmen":
-			return 1;
-		case "behoerde":
-			return 2;
-		default:
-			return -1;
-		}
-	}
-
-	default PostfachAddressIdentifier map(String value) {
-		return StringBasedIdentifier.builder().postfachId(value).build();
+		return switch (type) {
+			case "privat" -> 0;
+			case "unternehmen" -> 1;
+			case "behoerde" -> 2;
+			default -> -1;
+		};
 	}
 
 }
diff --git a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormCycleFormDataMapper.java b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormCycleFormDataMapper.java
index 40b324dbdd4cdb25229e037a426cb8f19dd9fd07..a3367f81967d01537c7862e9594c891c5ac3e2d2 100644
--- a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormCycleFormDataMapper.java
+++ b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormCycleFormDataMapper.java
@@ -33,11 +33,9 @@ import de.ozgcloud.vorgang.common.grpc.GrpcFormDataMapper;
 public interface FormCycleFormDataMapper {
 
 	@Mapping(target = "antragsteller", ignore = true)
+	@Mapping(target = "id", ignore = true)
 	@Mapping(target = "attachment", ignore = true)
 	@Mapping(target = "attachments", ignore = true)
-	@Mapping(target = "id", ignore = true)
-	@Mapping(target = "numberOfAttachments", ignore = true)
-	@Mapping(target = "numberOfRepresentations", ignore = true)
 	@Mapping(target = "representation", ignore = true)
 	@Mapping(target = "representations", ignore = true)
 	@Mapping(target = "zustaendigeStelle.organisationseinheitenId", source = "header.organisationsEinheitId")
diff --git a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormDataController.java b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormDataController.java
index 06206c9f99a6bc1d9442c5452979f90090faa60a..1147f2eac92f1b21a69be5315b79d17833b48f18 100644
--- a/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormDataController.java
+++ b/formcycle-adapter/formcycle-adapter-impl/src/main/java/de/ozgcloud/eingang/formcycle/FormDataController.java
@@ -49,7 +49,6 @@ import de.ozgcloud.eingang.common.formdata.ServiceKonto.PostfachAddress;
 import de.ozgcloud.eingang.common.formdata.StringBasedIdentifier;
 import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier;
 import de.ozgcloud.eingang.semantik.SemantikAdapter;
-import de.ozgcloud.eingang.semantik.enginebased.FilesMapperHelper;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
 
@@ -91,7 +90,7 @@ class FormDataController {
 
 	private FormData addRepresentations(Optional<Collection<MultipartFile>> files, FormData mappedFormData) {
 		Collection<IncomingFile> representations = buildIncomingFiles(files);
-		return mappedFormData.toBuilder().representations(representations).numberOfRepresentations(representations.size()).build();
+		return mappedFormData.toBuilder().representations(representations).build();
 	}
 
 	private Collection<IncomingFile> buildIncomingFiles(Optional<Collection<MultipartFile>> files) {
@@ -101,7 +100,7 @@ class FormDataController {
 	private FormData addFiles(FormCycleFormData inFormData, Optional<Collection<MultipartFile>> attachments, FormData mappedFormData) {
 		var groups = new AttachmentGroupsBuilder(inFormData.getAttachmentGroupList(), attachments).buildGroups();
 
-		return mappedFormData.toBuilder().attachments(groups).numberOfAttachments(FilesMapperHelper.countAttachedFiles(groups)).build();
+		return mappedFormData.toBuilder().attachments(groups).build();
 	}
 
 	private IncomingFile buildIncomingFile(MultipartFile multipartFile) {
diff --git a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java
index 25a588403ce89dc7c6bfa1cd89a5972f0ef2a458..c1fc281ebae3ea8d44fc70863c021b26450437c2 100644
--- a/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java
+++ b/formcycle-adapter/formcycle-adapter-impl/src/test/java/de/ozgcloud/eingang/formcycle/FormDataControllerTest.java
@@ -89,7 +89,7 @@ class FormDataControllerTest {
 
 		static final String VORGANG_NUMMER = "VorgangNummer";
 
-		private FormData mappedFormData = FormDataTestFactory.create();
+		private final FormData mappedFormData = FormDataTestFactory.create();
 
 		@Captor
 		private ArgumentCaptor<FormData> formDataCaptor;
@@ -168,7 +168,7 @@ class FormDataControllerTest {
 
 			@BeforeEach
 			void init() {
-				var formData = FormDataTestFactory.createBuilder().clearRepresentations().numberOfRepresentations(0).build();
+				var formData = FormDataTestFactory.createBuilder().clearRepresentations().build();
 				when(mapper.toFormData(any())).thenReturn(formData);
 				when(htmlCleaner.clean(any())).thenReturn(formData);
 			}
@@ -180,7 +180,6 @@ class FormDataControllerTest {
 				verify(semantikAdapter).processFormData(formDataCaptor.capture());
 				var formData = formDataCaptor.getValue();
 				assertThat(formData.getRepresentations()).hasSize(1);
-				assertThat(formData.getNumberOfRepresentations()).isEqualTo(1);
 			}
 
 			@Test
@@ -207,7 +206,7 @@ class FormDataControllerTest {
 		class Attachments {
 			@BeforeEach
 			void init() {
-				var formData = FormDataTestFactory.createBuilder().clearAttachments().numberOfAttachments(0).build();
+				var formData = FormDataTestFactory.createBuilder().clearAttachments().build();
 				when(mapper.toFormData(any())).thenReturn(formData);
 				when(htmlCleaner.clean(any())).thenReturn(formData);
 			}
@@ -220,14 +219,6 @@ class FormDataControllerTest {
 				assertThat(formDataCaptor.getValue().getAttachments()).hasSize(1);
 			}
 
-			@Test
-			void shouldSetNumberOfAttachments() {
-				doPostRequest();
-
-				verify(semantikAdapter).processFormData(formDataCaptor.capture());
-				assertThat(formDataCaptor.getValue().getNumberOfAttachments()).isEqualTo(1);
-			}
-
 		}
 
 		@SneakyThrows
@@ -370,6 +361,6 @@ class FormDataControllerTest {
 
 	private String getPostfachIdFormData(FormData formData) {
 		return ((StringBasedIdentifier) formData.getHeader().getServiceKonto().getPostfachAddresses()
-				.get(0).getIdentifier()).getPostfachId();
+				.getFirst().getIdentifier()).getPostfachId();
 	}
 }
diff --git a/formsolutions-adapter/src/main/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapper.java b/formsolutions-adapter/src/main/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapper.java
index 1f7577426808fb799db0ff3292ad43898cf652c3..3996c20101b170aa632159011ac7d0647bff898c 100644
--- a/formsolutions-adapter/src/main/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapper.java
+++ b/formsolutions-adapter/src/main/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapper.java
@@ -71,14 +71,12 @@ class FormSolutionsRequestMapper {
 				.formData(buildFormDataMap(eingang))
 				.attachments(attachmentMapper.mapAttachments(eingang.getZip()))
 				.representation(buildJsonFile(jsonFile));
-		var numberOfRepresentations = 1;
 
 		if (Objects.nonNull(eingang.getPdf())) {
 			builder.representation(buildPdfFile(eingang.getPdf()));
-			numberOfRepresentations++;
 		}
 
-		return builder.numberOfRepresentations(numberOfRepresentations).build();
+		return builder.build();
 	}
 
 	Map<String, Object> buildFormDataMap(FormSolutionsEingang eingang) {
diff --git a/formsolutions-adapter/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperTest.java b/formsolutions-adapter/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperTest.java
index bbae0375f29ff23f9c5b93ffcf0843c16762689c..64673c04c7272bfa49113846bf17bb36e5fe8150 100644
--- a/formsolutions-adapter/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperTest.java
+++ b/formsolutions-adapter/src/test/java/de/ozgcloud/eingang/formsolutions/FormSolutionsRequestMapperTest.java
@@ -134,21 +134,21 @@ class FormSolutionsRequestMapperTest {
 			void shouldContainPanelIdentifier() {
 				var eingang = mapper.mapEingang(simpleJsonFile);
 
-				assertThat(getPanels(eingang).get(0)).containsEntry(IDENTIFIER_KEY, PANEL_ID);
+				assertThat(getPanels(eingang).getFirst()).containsEntry(IDENTIFIER_KEY, PANEL_ID);
 			}
 
 			@Test
 			void shouldContainPanelComponets() {
 				var eingang = mapper.mapEingang(simpleJsonFile);
 
-				assertThat(getPanels(eingang).get(0).get(COMPONENTS)).isNotNull();
+				assertThat(getPanels(eingang).getFirst().get(COMPONENTS)).isNotNull();
 			}
 
 			@Test
 			void shouldContainTextComponets() {
 				var eingang = mapper.mapEingang(simpleJsonFile);
 
-				assertThat(getComponents(eingang).get(0))
+				assertThat(getComponents(eingang).getFirst())
 						.containsEntry(IDENTIFIER_KEY, COMPONENT_ID)
 						.containsEntry(STRING_VALUE, COMPONENT_VALUE);
 			}
@@ -168,14 +168,14 @@ class FormSolutionsRequestMapperTest {
 				void shouldContainGroup() {
 					var eingang = mapper.mapEingang(nestedComponenetJsonFile);
 
-					assertThat(getComponents(eingang).get(0)).containsEntry(IDENTIFIER_KEY, OBJEKTGRUPPE_0);
+					assertThat(getComponents(eingang).getFirst()).containsEntry(IDENTIFIER_KEY, OBJEKTGRUPPE_0);
 				}
 
 				@Test
 				void shouldContainDateField() {
 					var eingang = mapper.mapEingang(nestedComponenetJsonFile);
 
-					assertThat(getNestedComponents(eingang).get(0))
+					assertThat(getNestedComponents(eingang).getFirst())
 							.containsEntry(IDENTIFIER_KEY, DATE_COMPONENT_ID)
 							.containsEntry(STRING_VALUE, DATE_COMPONENT_VALUE);
 				}
@@ -184,12 +184,16 @@ class FormSolutionsRequestMapperTest {
 
 		@SuppressWarnings("unchecked")
 		private List<Map<String, Object>> getComponents(FormSolutionsEingang eingang) {
-			return (List<Map<String, Object>>) getPanels(eingang).get(0).get(COMPONENTS);
+			return (List<Map<String, Object>>) getPanels(eingang).getFirst().get(COMPONENTS);
 		}
 
 		@SuppressWarnings("unchecked")
 		private List<Map<String, Object>> getNestedComponents(FormSolutionsEingang eingang) {
-			return (List<Map<String, Object>>) ((List<Map<String, Object>>) getPanels(eingang).get(0).get(COMPONENTS)).get(0).get(COMPONENTS);
+			return (List<Map<String, Object>>) ((List<Map<String, Object>>) getPanels(eingang)
+					.getFirst()
+					.get(COMPONENTS))
+					.getFirst()
+					.get(COMPONENTS);
 		}
 
 		@SuppressWarnings("unchecked")
@@ -250,13 +254,6 @@ class FormSolutionsRequestMapperTest {
 
 				assertThat(result.getRepresentations()).hasSize(2);
 			}
-
-			@Test
-			void shouldAddNumberOfRepresentations() {
-				var result = mapper.map(jsonFile);
-
-				assertThat(result.getNumberOfRepresentations()).isEqualTo(2);
-			}
 		}
 
 	}
diff --git a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/IntelliFormMapper.java b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/IntelliFormMapper.java
index ddacb0fb20652c1b99fd34c39037a9c4e5f157b4..c98f75ca3f004b8d22a8bb2c18e6a888133df81c 100644
--- a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/IntelliFormMapper.java
+++ b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/intelliform/IntelliFormMapper.java
@@ -60,7 +60,6 @@ class IntelliFormMapper {
 
 		return FormData.builder()
 				.representations(representations)
-				.numberOfRepresentations(representations.size())
 				.build();
 	}
 
diff --git a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/IntelliFormMapperTest.java b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/IntelliFormMapperTest.java
index 31f5d4dfce8cd4836de80792734fa048d3f8741e..faab23f6e53492d0bd51ce90183b83a4fd8f7be5 100644
--- a/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/IntelliFormMapperTest.java
+++ b/intelliform-adapter/src/test/java/de/ozgcloud/eingang/intelliform/IntelliFormMapperTest.java
@@ -94,14 +94,6 @@ class IntelliFormMapperTest {
 				var incomingFileIds = formData.getRepresentations().stream().map(IncomingFile::getVendorId).toList();
 				assertThat(incomingFileIds).isEqualTo(expectedAttachmentIds(ATTACHMENTS));
 			}
-
-			@DisplayName("should return with number of representations")
-			@Test
-			void shouldReturnWithNumberOfRepresentations() {
-				var formData = doMapping();
-
-				assertThat(formData.getNumberOfRepresentations()).isEqualTo(ATTACHMENTS.size());
-			}
 		}
 
 		@DisplayName("with empty attachments")
diff --git a/router/src/main/java/de/ozgcloud/eingang/router/GrpcEingangMapper.java b/router/src/main/java/de/ozgcloud/eingang/router/GrpcEingangMapper.java
index 74607f148396fb856dd86a4716f5f67f0d2f4019..965ee6f81f5bec350c14bfae7b4a324faf4ccfeb 100644
--- a/router/src/main/java/de/ozgcloud/eingang/router/GrpcEingangMapper.java
+++ b/router/src/main/java/de/ozgcloud/eingang/router/GrpcEingangMapper.java
@@ -23,7 +23,7 @@
  */
 package de.ozgcloud.eingang.router;
 
-import java.util.UUID;
+import java.util.List;
 
 import org.mapstruct.CollectionMappingStrategy;
 import org.mapstruct.Mapper;
@@ -32,8 +32,6 @@ import org.mapstruct.NullValueCheckStrategy;
 import org.mapstruct.NullValuePropertyMappingStrategy;
 import org.mapstruct.ReportingPolicy;
 
-import com.google.protobuf.ByteString;
-
 import de.ozgcloud.eingang.common.formdata.Antragsteller;
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.IncomingFileGroup;
@@ -54,15 +52,13 @@ public interface GrpcEingangMapper {
 
 	@Mapping(source = "antragsteller.data", target = "antragsteller.otherData")
 	@Mapping(source = "attachments", target = "attachmentsList")
+	@Mapping(source = "attachments", target = "numberOfAttachments")
 	@Mapping(source = "representations", target = "representationsList")
+	@Mapping(source = "representations", target = "numberOfRepresentations")
 	GrpcEingang toEingang(FormData formData);
 
-	default ByteString byteArrayToByteString(byte[] byteArray) {
-		if (byteArray == null) {
-			return null;
-		}
-
-		return ByteString.copyFrom(byteArray);
+	default int listToSize(List<?> list) {
+		return list.size();
 	}
 
 	@Mapping(source = "files", target = "filesList")
@@ -81,10 +77,6 @@ public interface GrpcEingangMapper {
 
 	GrpcAntragsteller toAntragsteller(Antragsteller antragsteller);
 
-	default String uuidToString(UUID id) {
-		return id.toString();
-	}
-
 	// FIXME map representations and attachments
 	@Mapping(target = "attachment", ignore = true)
 	@Mapping(target = "attachments", ignore = true)
diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/FilesMapperHelper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/FilesMapperHelper.java
index 3e0ccb8a863a59546dd91ba4749b399bc5cfd952..5b74b88e7019d211662de352ad6327e62257fe7a 100644
--- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/FilesMapperHelper.java
+++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/FilesMapperHelper.java
@@ -23,10 +23,8 @@
  */
 package de.ozgcloud.eingang.semantik.enginebased;
 
-import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 import java.util.Optional;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
@@ -55,10 +53,6 @@ public class FilesMapperHelper {
 		return getMappedFiles(formData).map(mappedFiles -> (List<IncomingFile>) mappedFiles.get(REPRESENTATIONS));
 	}
 
-	public static int countAttachedFiles(Collection<IncomingFileGroup> fileGroups) {
-		return fileGroups.stream().filter(Objects::nonNull).mapToInt(group -> group.getFiles().size()).sum();
-	}
-
 	public static FormData removeProcessedData(FormData formData) {
 		return FormDataUtils.from(formData).remove(FIELD_NAME_MAPPED_FILES).build();
 	}
diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAttachedFilesMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAttachedFilesMapper.java
index 6daeceab9dfd7e9f397b46fa087792ae4dff7560..aefaaa9778895bf73c5810d02c8679b74027e0e3 100644
--- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAttachedFilesMapper.java
+++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAttachedFilesMapper.java
@@ -35,11 +35,9 @@ class AfmAttachedFilesMapper implements AfmEngineBasedMapper {
 	public FormData parseFormData(FormData formData) {
 		var formDataBuilder = formData.toBuilder();
 		FilesMapperHelper.getAttachedFileGroups(formData)
-				.ifPresent(fileGroups -> formDataBuilder
-						.attachments(fileGroups)
-						.numberOfAttachments(FilesMapperHelper.countAttachedFiles(fileGroups)));
+				.ifPresent(formDataBuilder::attachments);
 		FilesMapperHelper.getRepresentations(formData)
-				.ifPresent(representations -> formDataBuilder.representations(representations).numberOfRepresentations(representations.size()));
+				.ifPresent(formDataBuilder::representations);
 
 		return FilesMapperHelper.removeProcessedData(formDataBuilder.build());
 	}
diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsFilesMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsFilesMapper.java
index d63b1e4f5a502a5efce7f280b107422e0ee83a64..2258394fac564f349a94b229fa8b610e631a168e 100644
--- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsFilesMapper.java
+++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsFilesMapper.java
@@ -54,7 +54,7 @@ class FormSolutionsFilesMapper implements FormSolutionsEngineBasedMapper {
 		if (attachments.isEmpty()) {
 			return formDataBuilder.build();
 		}
-		return formDataBuilder.attachments(attachments).numberOfAttachments(FilesMapperHelper.countAttachedFiles(attachments)).build();
+		return formDataBuilder.attachments(attachments).build();
 	}
 
 	List<IncomingFileGroup> readAttachments(FormData srcFormData) {
diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/FilesMapperHelperTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/FilesMapperHelperTest.java
index cfbf8d3481cd4679412ceceb84f886152467c30a..19a6f7ef707aaaeac2a5f7044ed3d4bf852e63ba 100644
--- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/FilesMapperHelperTest.java
+++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/FilesMapperHelperTest.java
@@ -35,7 +35,6 @@ import org.junit.jupiter.api.Test;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
-import de.ozgcloud.eingang.common.formdata.IncomingFileGroup;
 import de.ozgcloud.eingang.common.formdata.IncomingFileGroupTestFactory;
 import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory;
 
@@ -85,7 +84,7 @@ class FilesMapperHelperTest {
 		}
 
 		@Test
-		void souldReturnRepresentations() {
+		void shouldReturnRepresentations() {
 			var incomingFileGroups = List.of(IncomingFileTestFactory.create());
 			Map<String, Object> mappedFilesMap = Map.of(FilesMapperHelper.FIELD_NAME_MAPPED_FILES,
 					Map.of(FilesMapperHelper.REPRESENTATIONS, incomingFileGroups));
@@ -105,48 +104,6 @@ class FilesMapperHelperTest {
 		}
 	}
 
-	@Nested
-	class TestAttachmentCount {
-
-		@Test
-		void shouldCountEmptyList() {
-			var counter = FilesMapperHelper.countAttachedFiles(List.of());
-
-			assertThat(counter).isZero();
-		}
-
-		@Test
-		void shouldCountNoAttachedFiles() {
-			var counter = FilesMapperHelper.countAttachedFiles(List.of(IncomingFileGroupTestFactory.createBuilder().clearFiles().build()));
-
-			assertThat(counter).isZero();
-		}
-
-		@Test
-		void shouldCountOneAttachment() {
-			var fileGroup = List.of(IncomingFileGroupTestFactory.createBuilder().file(IncomingFileTestFactory.create()).build());
-
-			var counter = FilesMapperHelper.countAttachedFiles(fileGroup);
-
-			assertThat(counter).isEqualTo(2);
-		}
-
-		@Test
-		void shouldCountAllAttachments() {
-			var counter = FilesMapperHelper.countAttachedFiles(createFileGroupsWith4Files());
-
-			assertThat(counter).isEqualTo(4);
-		}
-
-		private static List<IncomingFileGroup> createFileGroupsWith4Files() {
-			return List.of(IncomingFileGroupTestFactory.createBuilder()
-					.clearFiles()
-					.files(List.of(IncomingFileTestFactory.create(), IncomingFileTestFactory.create(), IncomingFileTestFactory.create())).build(),
-					IncomingFileGroupTestFactory.create());
-
-		}
-	}
-
 	@Nested
 	class TestRemoveProcessedData {
 
@@ -173,9 +130,7 @@ class FilesMapperHelperTest {
 			assertThat(cleanedFormData.getHeader()).isEqualTo(formData.getHeader());
 			assertThat(cleanedFormData.getZustaendigeStelle()).isEqualTo(formData.getZustaendigeStelle());
 			assertThat(cleanedFormData.getAntragsteller()).isEqualTo(formData.getAntragsteller());
-			assertThat(cleanedFormData.getNumberOfAttachments()).isEqualTo(formData.getNumberOfAttachments());
 			assertThat(cleanedFormData.getAttachments()).isEqualTo(formData.getAttachments());
-			assertThat(cleanedFormData.getNumberOfRepresentations()).isEqualTo(formData.getNumberOfRepresentations());
 			assertThat(cleanedFormData.getRepresentations()).isEqualTo(formData.getRepresentations());
 			assertThat(cleanedFormData.getFormData()).containsAllEntriesOf(formData.getFormData());
 		}
diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAttachedFilesMapperTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAttachedFilesMapperTest.java
index 2643740ae163291151e0573b6b9537514ce0b831..8da61c1b9b45fc394f7b679db1072f067fb7195e 100644
--- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAttachedFilesMapperTest.java
+++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAttachedFilesMapperTest.java
@@ -34,7 +34,6 @@ import de.ozgcloud.eingang.common.formdata.IncomingFileGroup;
 import de.ozgcloud.eingang.common.formdata.IncomingFileGroupTestFactory;
 import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory;
 import de.ozgcloud.eingang.semantik.enginebased.FilesMapperHelper;
-import de.ozgcloud.eingang.semantik.enginebased.afm.AfmAttachedFilesMapper;
 
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
@@ -47,13 +46,13 @@ class AfmAttachedFilesMapperTest {
 	@InjectMocks
 	private AfmAttachedFilesMapper mapper;
 
-	private IncomingFileGroup attachmentWithMultipleFiles = IncomingFileGroupTestFactory.createBuilder()
+	private final IncomingFileGroup attachmentWithMultipleFiles = IncomingFileGroupTestFactory.createBuilder()
 			.name("anotherAttachment")
 			.clearFiles()
 			.files(List.of(IncomingFileTestFactory.create(), IncomingFileTestFactory.create()))
 			.build();
 
-	private FormData formData = FormDataTestFactory.createBuilder()
+	private final FormData formData = FormDataTestFactory.createBuilder()
 			.clearAttachments()
 			.formData(Map.of(FilesMapperHelper.FIELD_NAME_MAPPED_FILES,
 					Map.of(FilesMapperHelper.ATTACHMENTS, List.of(IncomingFileGroupTestFactory.create(), attachmentWithMultipleFiles))))
@@ -71,13 +70,6 @@ class AfmAttachedFilesMapperTest {
 			assertThat(parsedFormData.getAttachments().get(1).getFiles()).hasSize(2);
 		}
 
-		@Test
-		void shouldSetNumberOfAttachments() {
-			var parsedFormData = parseFormData();
-
-			assertThat(parsedFormData.getNumberOfAttachments()).isEqualTo(3);
-		}
-
 		@Test
 		void shouldMapRepresentations() {
 			var parsedFormData = parseFormData();
@@ -85,13 +77,6 @@ class AfmAttachedFilesMapperTest {
 			assertThat(parsedFormData.getRepresentations()).hasSize(1);
 		}
 
-		@Test
-		void shouldSetNumberOfRepresentations() {
-			var parsedFormData = parseFormData();
-
-			assertThat(parsedFormData.getNumberOfRepresentations()).isEqualTo(1);
-		}
-
 		@Test
 		void shouldRemoveFilesFromMap() {
 			var parsedFormData = parseFormData();
diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsEngineBasedAdapterITCase.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsEngineBasedAdapterITCase.java
index 47c563508627226dac6341fe8d6e4b36f9062b70..d7ea810f4687a488400fb334987dce12546f2ca9 100644
--- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsEngineBasedAdapterITCase.java
+++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formsolutions/FormSolutionsEngineBasedAdapterITCase.java
@@ -35,7 +35,6 @@ import java.util.Optional;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.boot.test.mock.mockito.SpyBean;
 import org.springframework.test.context.ActiveProfiles;
 
@@ -50,7 +49,6 @@ import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
 import de.ozgcloud.eingang.common.formdata.IncomingFileGroupTestFactory;
 import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory;
-import de.ozgcloud.eingang.semantik.SemantikAdapter;
 import lombok.SneakyThrows;
 
 @SpringBootTest
@@ -60,18 +58,15 @@ public class FormSolutionsEngineBasedAdapterITCase {
 	private static final String ZIP_CONTENT_TYPE = "application/zip";
 	private static final String FILE_NAME_ZIP_ATTACHMENT = "formsolutions/attachment-2files.zip";
 
-	@MockBean
-	private SemantikAdapter semantikAdapter;
-
 	@SpyBean
 	private FormSolutionsEngineBasedAdapter engineAdapter;
 
-	private ObjectMapper objectMapper = new ObjectMapper();
+	private final ObjectMapper objectMapper = new ObjectMapper();
 
 	@Nested
 	class TestEngineBasedAdapter {
 
-		private FormData formData = prepareTestData();
+		private final FormData formData = prepareTestData();
 
 		@Test
 		void shouldMap() {
@@ -131,8 +126,8 @@ public class FormSolutionsEngineBasedAdapterITCase {
 			void shouldMapAttachment() {
 				var data = engineAdapter.parseFormData(formData);
 
-				assertThat(data.getAttachments().get(0)).isNotNull();
-				assertThat(data.getNumberOfAttachments()).isEqualTo(2);
+				assertThat(data.getAttachments()).hasSize(2);
+				assertThat(data.getAttachments().getFirst()).isNotNull();
 			}
 		}
 
diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaMessageMapper.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaMessageMapper.java
index b9d8faafc6f5c81b2dfcb9a532354c639c58d8bd..7ef93af7b16b67e6711576505bc9812403403175 100644
--- a/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaMessageMapper.java
+++ b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaMessageMapper.java
@@ -16,9 +16,6 @@ interface XtaMessageMapper {
 	@Mapping(target = "attachments", ignore = true)
 	@Mapping(target = "formData", ignore = true)
 	@Mapping(target = "id", ignore = true)
-	@Mapping(target = "numberOfAttachments", ignore = true)
-	// TODO: Eine Lösung, bei der fromData nicht zweimal gebaut wird wäre gut
-	@Mapping(target = "numberOfRepresentations", dependsOn = "representations", expression = "java(formData.build().getRepresentations().size())")
 	@Mapping(target = "representation", ignore = true)
 	@Mapping(target = "representations", source = "messageFiles")
 	@Mapping(target = "zustaendigeStelle", ignore = true)
diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/FormDataTestFactory.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/FormDataTestFactory.java
index 509880984a7ee0a50eb1fa424541121e7c58909e..374b4de0335bdfadae06528258db5cae4e782b4c 100644
--- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/FormDataTestFactory.java
+++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/FormDataTestFactory.java
@@ -10,8 +10,7 @@ class FormDataTestFactory {
 
 	static FormData.FormDataBuilder createBuilder() {
 		return FormData.builder()
-				.header(FormHeaderTestFactory.create())
-				.numberOfRepresentations(1);
+				.header(FormHeaderTestFactory.create());
 	}
 
 }
diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java
index e1229a00cb142dfb4b4fdd97dd03a3d419fd923d..08e2fce74e86f61effc7936367540bab2282204c 100644
--- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java
+++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java
@@ -12,11 +12,9 @@ import org.junit.jupiter.api.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootContextLoader;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.context.annotation.Bean;
-import org.springframework.stereotype.Component;
 import org.springframework.test.context.ActiveProfiles;
 
 import de.ozgcloud.common.test.TestUtils;
@@ -71,7 +69,6 @@ class XtaITCase {
 		runner.onApplicationEvent(null);
 
 		verify(vorgangRemoteService).createVorgang(formDataCaptor.capture(), any(), any());
-		assertThat(formDataCaptor.getValue().getNumberOfRepresentations()).isEqualTo(4);
 		assertThat(formDataCaptor.getValue().getRepresentations()).hasSize(4);
 	}
 
diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMapperTest.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMapperTest.java
index 5d70afce1797a13c66e872821b1dbeb12de50ab3..de179962e3198dc88e1f0dc319d7f28925409105 100644
--- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMapperTest.java
+++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaMessageMapperTest.java
@@ -45,17 +45,6 @@ class XtaMessageMapperTest {
 			verify(incomingFilesMapper).toIncomingFiles(xtaMessage.getMessageFiles());
 		}
 
-		@Test
-		void shouldSetNumberOfRepresentations() {
-			var xtaMessage = XtaMessageTestFactory.create();
-			when(incomingFilesMapper.toIncomingFiles(any()))
-					.thenReturn(List.of(IncomingFileTestFactory.create(), IncomingFileTestFactory.create()));
-
-			var formData = mapper.toFormData(xtaMessage);
-
-			assertThat(formData.getNumberOfRepresentations()).isEqualTo(2);
-		}
-
 		@Test
 		void shouldCallToIncomingFile() {
 			XtaMessage message = XtaMessageTestFactory.create();
diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaServiceITCase.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaServiceITCase.java
index 99f0deaef6e11909eeaac0abdc42eb3c0d75b971..38a073186b36756cd6dfd611f98884d7141a534e 100644
--- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaServiceITCase.java
+++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaServiceITCase.java
@@ -83,7 +83,7 @@ class XtaServiceITCase {
 			var firstFormData = xtaService.getMessages().toList().getFirst();
 
 			// Expect that there are 3 files in attachment.zip and that the zip itself is a representation
-			assertThat(firstFormData.getNumberOfRepresentations()).isEqualTo(4);
+			assertThat(firstFormData.getRepresentations()).hasSize(4);
 		}
 	}