diff --git a/src/main/java/de/ozgcloud/admin/common/DtoService.java b/src/main/java/de/ozgcloud/admin/common/DtoService.java
new file mode 100644
index 0000000000000000000000000000000000000000..ca024525b112ba549dd52772d6be480edb4336dd
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/common/DtoService.java
@@ -0,0 +1,16 @@
+package de.ozgcloud.admin.common;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.springframework.stereotype.Service;
+
+@Service
+@Target(ElementType.TYPE)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface DtoService {
+
+	String value();
+}
diff --git a/src/main/java/de/ozgcloud/admin/common/SettingDtoService.java b/src/main/java/de/ozgcloud/admin/common/SettingDtoService.java
new file mode 100644
index 0000000000000000000000000000000000000000..2624360a295f6733a404ccfa78f37a640d3cc058
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/common/SettingDtoService.java
@@ -0,0 +1,8 @@
+package de.ozgcloud.admin.common;
+
+public interface SettingDtoService {
+
+	String getSettingKeyName();
+
+	Object getDataTransferObject();
+}
diff --git a/src/main/java/de/ozgcloud/admin/reporting/AggregationMappingMapper.java b/src/main/java/de/ozgcloud/admin/reporting/AggregationMappingMapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..80ba34c4e74442fd4cd0e019ca4b9211b431e577
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/reporting/AggregationMappingMapper.java
@@ -0,0 +1,15 @@
+package de.ozgcloud.admin.reporting;
+
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.NullValueCheckStrategy;
+
+import de.ozgcloud.admin.reporting.ReportingSettingDto.AggregationMappingDto;
+
+@Mapper(nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
+public interface AggregationMappingMapper {
+
+	@Mapping(target = "fieldMapping", ignore = true)
+	@Mapping(target = "fieldMappings", source = "mappings")
+	AggregationMappingDto toMapping(ReportingSetting setting);
+}
diff --git a/src/main/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDTOService.java b/src/main/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDTOService.java
new file mode 100644
index 0000000000000000000000000000000000000000..b74146d6317935ec3d7b72f79644c48d9683dbde
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDTOService.java
@@ -0,0 +1,32 @@
+package de.ozgcloud.admin.reporting;
+
+import java.util.stream.Stream;
+
+import de.ozgcloud.admin.common.DtoService;
+import de.ozgcloud.admin.common.SettingDtoService;
+import de.ozgcloud.admin.setting.SettingConstants;
+import lombok.RequiredArgsConstructor;
+
+@RequiredArgsConstructor
+@DtoService(SettingConstants.AGGREGATION_MANAGER)
+class ReportingAggregationManagerSettingDTOService implements SettingDtoService {
+
+	private final ReportingSettingRepository repository;
+	private final AggregationMappingMapper mapper;
+
+	@Override
+	public ReportingSettingDto getDataTransferObject() {
+		return mapToDto(repository.findAll().stream());
+	}
+
+	ReportingSettingDto mapToDto(Stream<ReportingSetting> settings) {
+		return ReportingSettingDto.builder()
+				.aggregationMappings(settings.map(mapper::toMapping).toList())
+				.build();
+	}
+
+	@Override
+	public String getSettingKeyName() {
+		return "aggregation";
+	}
+}
diff --git a/src/main/java/de/ozgcloud/admin/reporting/ReportingSetting.java b/src/main/java/de/ozgcloud/admin/reporting/ReportingSetting.java
index 83ad52c2368f6141f31b0ba694a185c0c0ddcdaf..963c9d0c698cafa914def19dc38624d5b5852b17 100644
--- a/src/main/java/de/ozgcloud/admin/reporting/ReportingSetting.java
+++ b/src/main/java/de/ozgcloud/admin/reporting/ReportingSetting.java
@@ -2,6 +2,7 @@ package de.ozgcloud.admin.reporting;
 
 import java.util.List;
 
+import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotEmpty;
 
@@ -9,34 +10,47 @@ import org.springframework.data.annotation.Id;
 import org.springframework.data.annotation.TypeAlias;
 import org.springframework.data.mongodb.core.mapping.Document;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+import de.ozgcloud.admin.reporting.ReportingSettingDto.FormIdentifierDto;
 import lombok.Builder;
 import lombok.Getter;
+import lombok.Singular;
 import lombok.extern.jackson.Jacksonized;
 
 @Document("settings")
-@TypeAlias("reporting")
+@TypeAlias("fieldMapping")
 @Jacksonized
 @Builder
 @Getter
 public class ReportingSetting {
 
 	@Id
+	@JsonIgnore
 	private String id;
 	@Builder.Default
-	private String name = "reporting";
+	private String name = "fieldMapping";
 
-	@NotBlank
-	private String formEngineName;
-	@NotBlank
-	private String formId;
+	@Valid
+	private FormIdentifierDto formIdentifier;
 
 	@NotEmpty
+	@Singular
 	private List<FieldMapping> mappings;
 
 	@Builder
 	@Getter
 	static class FieldMapping {
+		@NotBlank
 		private String sourcePath;
+		@NotBlank
 		private String targetPath;
 	}
+
+	static class FormIdentifer {
+		@NotBlank
+		private String formEngineName;
+		@NotBlank
+		private String formId;
+	}
 }
diff --git a/src/main/java/de/ozgcloud/admin/reporting/ReportingSettingDto.java b/src/main/java/de/ozgcloud/admin/reporting/ReportingSettingDto.java
new file mode 100644
index 0000000000000000000000000000000000000000..5b25418b8f2cfd1a9a4c2e38cf0d6651f353b337
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/reporting/ReportingSettingDto.java
@@ -0,0 +1,39 @@
+package de.ozgcloud.admin.reporting;
+
+import java.util.List;
+
+import lombok.Builder;
+import lombok.Getter;
+import lombok.Singular;
+import lombok.ToString;
+
+@Builder
+@Getter
+@ToString
+public class ReportingSettingDto {
+
+	@Singular
+	private List<AggregationMappingDto> aggregationMappings;
+
+	@Builder
+	@Getter
+	static class AggregationMappingDto {
+		private FormIdentifierDto formIdentifier;
+		@Singular
+		private List<FieldMappingDto> fieldMappings;
+	}
+
+	@Builder
+	@Getter
+	static class FormIdentifierDto {
+		private String formEngineName;
+		private String formId;
+	}
+
+	@Builder
+	@Getter
+	static class FieldMappingDto {
+		private String sourcePath;
+		private String targetPath;
+	}
+}
diff --git a/src/main/java/de/ozgcloud/admin/reporting/ReportingSettingRepository.java b/src/main/java/de/ozgcloud/admin/reporting/ReportingSettingRepository.java
index 3614a99aad098ae462f1b8d3d1c2400b3ffaaf28..0c4f3ec770b0f486279273305ee0103d023b5145 100644
--- a/src/main/java/de/ozgcloud/admin/reporting/ReportingSettingRepository.java
+++ b/src/main/java/de/ozgcloud/admin/reporting/ReportingSettingRepository.java
@@ -1,9 +1,14 @@
 package de.ozgcloud.admin.reporting;
 
+import java.util.List;
+
 import org.springframework.data.mongodb.repository.MongoRepository;
+import org.springframework.data.mongodb.repository.Query;
 import org.springframework.data.rest.core.annotation.RepositoryRestResource;
 
 @RepositoryRestResource
-public interface ReportingSettingRepository extends MongoRepository<ReportingSetting, String> {
-
+interface ReportingSettingRepository extends MongoRepository<ReportingSetting, String> {
+	@Override
+	@Query("{'_class': 'fieldMapping'}")
+	List<ReportingSetting> findAll();
 }
diff --git a/src/main/java/de/ozgcloud/admin/setting/MapBasedApplicationSettingDto.java b/src/main/java/de/ozgcloud/admin/setting/MapBasedApplicationSettingDto.java
new file mode 100644
index 0000000000000000000000000000000000000000..864acde2c206245c5f4c4f253606f9d7217e680c
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/setting/MapBasedApplicationSettingDto.java
@@ -0,0 +1,22 @@
+package de.ozgcloud.admin.setting;
+
+import java.util.Map;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+
+import lombok.Builder;
+import lombok.Getter;
+import lombok.Singular;
+
+@Builder
+@Getter
+public class MapBasedApplicationSettingDto implements ApplicationSettingDTO {
+
+	@Singular
+	private Map<String, Object> settings;
+
+	@JsonAnyGetter
+	public Map<String, Object> getSettings() {
+		return settings;
+	}
+}
diff --git a/src/main/java/de/ozgcloud/admin/setting/SettingConstants.java b/src/main/java/de/ozgcloud/admin/setting/SettingConstants.java
index 9c40c6120a702447e27ebc8093025568763de5d3..afcf09344d8f76dc3519c635b99bfc933e185d24 100644
--- a/src/main/java/de/ozgcloud/admin/setting/SettingConstants.java
+++ b/src/main/java/de/ozgcloud/admin/setting/SettingConstants.java
@@ -32,4 +32,6 @@ public class SettingConstants {
 	static final String REL = "settings";
 
 	public static final String PATH = "settings";
+
+	public static final String AGGREGATION_MANAGER = "OzgCloud_AggregationManager";
 }
diff --git a/src/main/java/de/ozgcloud/admin/setting/SettingEnvironmentRepository.java b/src/main/java/de/ozgcloud/admin/setting/SettingEnvironmentRepository.java
index db793f2f49805d18a48037b96817cdd1aa4c88e3..dfe17a508e03e1a2fab7b31945dd05701c2fb51c 100644
--- a/src/main/java/de/ozgcloud/admin/setting/SettingEnvironmentRepository.java
+++ b/src/main/java/de/ozgcloud/admin/setting/SettingEnvironmentRepository.java
@@ -23,6 +23,8 @@
  */
 package de.ozgcloud.admin.setting;
 
+import static de.ozgcloud.admin.setting.SettingConstants.*;
+
 import java.util.Map;
 import java.util.Optional;
 
@@ -41,13 +43,12 @@ import lombok.RequiredArgsConstructor;
 @Component
 public class SettingEnvironmentRepository implements EnvironmentRepository {
 
-	private final SettingService settingService;
-
-	private final ObjectMapper objectMapper;
-
 	private static final String ALFA = "Alfa";
 	private static final String VORGANG_MANAGER = "OzgCloud_VorgangManager";
 
+	private final SettingService settingService;
+	private final ObjectMapper objectMapper;
+
 	@Override
 	public Environment findOne(String application, String profile, String label) {
 		return buildEnvironment(application, findAnwendungSettingDTO(application));
@@ -55,12 +56,14 @@ public class SettingEnvironmentRepository implements EnvironmentRepository {
 
 	Optional<ApplicationSettingDTO> findAnwendungSettingDTO(String application) {
 		switch (application) {
-			case ALFA:
-				return Optional.of(settingService.getAlfaSettingDTO());
-			case VORGANG_MANAGER:
-				return Optional.of(settingService.getVorgangManagerSettingDTO());
-			default:
-				return Optional.empty();
+		case ALFA:
+			return Optional.of(settingService.getAlfaSettingDTO());
+		case VORGANG_MANAGER:
+			return Optional.of(settingService.getVorgangManagerSettingDTO());
+		case AGGREGATION_MANAGER:
+			return Optional.of(settingService.getAggregationManagerSettingDto());
+		default:
+			return Optional.empty();
 		}
 	}
 
diff --git a/src/main/java/de/ozgcloud/admin/setting/SettingService.java b/src/main/java/de/ozgcloud/admin/setting/SettingService.java
index 51b8529add8a7e42cb367f1fc6b4a062f8eaa4cb..ef6a78f31301e24fc225ce6e7f12d84772d71e1c 100644
--- a/src/main/java/de/ozgcloud/admin/setting/SettingService.java
+++ b/src/main/java/de/ozgcloud/admin/setting/SettingService.java
@@ -23,11 +23,20 @@
  */
 package de.ozgcloud.admin.setting;
 
+import static de.ozgcloud.admin.setting.SettingConstants.*;
+
+import java.util.Collections;
+import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import jakarta.annotation.PostConstruct;
+
+import org.springframework.beans.factory.ListableBeanFactory;
 import org.springframework.stereotype.Service;
 
+import de.ozgcloud.admin.common.DtoService;
+import de.ozgcloud.admin.common.SettingDtoService;
 import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettings;
 import de.ozgcloud.admin.setting.postfach.PostfachSettingBody;
 import lombok.RequiredArgsConstructor;
@@ -41,6 +50,21 @@ class SettingService {
 	private final SettingRepository repository;
 
 	private final SettingMapper mapper;
+	private final ListableBeanFactory beanFactory;
+
+	private Map<String, List<SettingDtoService>> dtoServiceByManager;
+
+	@PostConstruct
+	void initDtoServices() {
+		this.dtoServiceByManager = beanFactory.getBeansWithAnnotation(DtoService.class).values().stream()
+				.map(dtoService -> (SettingDtoService) dtoService)
+				.collect(Collectors.groupingBy(dtoService -> getManagerForService(dtoService)));
+	}
+
+	private String getManagerForService(SettingDtoService dtoService) {
+		var annotation = dtoService.getClass().getDeclaredAnnotation(DtoService.class);
+		return annotation.value();
+	}
 
 	public AlfaSettingDTO getAlfaSettingDTO() {
 		var postfachData = getSettingWithPostfachFromDb();
@@ -63,6 +87,17 @@ class SettingService {
 				.build();
 	}
 
+	public ApplicationSettingDTO getAggregationManagerSettingDto() {
+		return MapBasedApplicationSettingDto.builder()
+				.settings(getDtoService(AGGREGATION_MANAGER).stream()
+						.collect(Collectors.toMap(SettingDtoService::getSettingKeyName, SettingDtoService::getDataTransferObject)))
+				.build();
+	}
+
+	private List<SettingDtoService> getDtoService(String managerName) {
+		return dtoServiceByManager.getOrDefault(managerName, Collections.emptyList());
+	}
+
 	PostfachSettingBody getSettingWithPostfachFromDb() {
 		return repository.findOneByName(POSTFACH_SETTING_ITEM_NAME)
 				.map(Setting::getSettingBody)
@@ -75,4 +110,5 @@ class SettingService {
 				OrganisationsEinheitWithSettings::organisationsEinheitId,
 				OrganisationsEinheitWithSettings::settings));
 	}
+
 }
diff --git a/src/main/resources/application-local.yaml b/src/main/resources/application-local.yaml
index c5bb57b37de68a6c4b610d764df4023e48e248f4..7faeb3acc343d6320c0c77fcfcd3da7aca6dffbb 100644
--- a/src/main/resources/application-local.yaml
+++ b/src/main/resources/application-local.yaml
@@ -1,3 +1,6 @@
+logging:
+  config: classpath:log4j2-local.xml
+
 spring:
   data:
     mongodb:
diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml
index f4a4954da71dc34a7be41330ce9d37169793c969..eda944334cfe180495861f29ed07464d4164c552 100644
--- a/src/main/resources/application.yaml
+++ b/src/main/resources/application.yaml
@@ -21,7 +21,7 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 logging:
   level:
-    ROOT: INFO
+    ROOT: WARN
     '[de.ozgcloud]': INFO
 
 management:
diff --git a/src/test/java/de/ozgcloud/admin/common/LinkedResourceDeserializerTest.java b/src/test/java/de/ozgcloud/admin/common/LinkedResourceDeserializerTest.java
index 57b29873233059f02882fe1b56c5f4079f57c792..b50116770c539a5abba0108c8f82efe81b0763ec 100644
--- a/src/test/java/de/ozgcloud/admin/common/LinkedResourceDeserializerTest.java
+++ b/src/test/java/de/ozgcloud/admin/common/LinkedResourceDeserializerTest.java
@@ -31,8 +31,6 @@ import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 
-import com.fasterxml.jackson.core.exc.StreamReadException;
-import com.fasterxml.jackson.databind.DatabindException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 import de.ozgcloud.admin.common.user.TestId;
diff --git a/src/test/java/de/ozgcloud/admin/common/ModelBuilderTest.java b/src/test/java/de/ozgcloud/admin/common/ModelBuilderTest.java
index eaaf4500527625ff9707498335e93fb6bc6210a3..74c8a11de179d56b34bfb52fc47108c5cd491dc6 100644
--- a/src/test/java/de/ozgcloud/admin/common/ModelBuilderTest.java
+++ b/src/test/java/de/ozgcloud/admin/common/ModelBuilderTest.java
@@ -24,11 +24,9 @@
 package de.ozgcloud.admin.common;
 
 import static org.assertj.core.api.Assertions.*;
-import static org.mockito.Mockito.*;
 
 import java.util.UUID;
 
-import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
@@ -36,7 +34,6 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.NullAndEmptySource;
 import org.mockito.Mock;
 import org.springframework.context.ApplicationContext;
-import org.springframework.core.env.Environment;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import lombok.Builder;
diff --git a/src/test/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDTOServiceTest.java b/src/test/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDTOServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..a7b8213b81c5a201f4c21811b46197abba4cc034
--- /dev/null
+++ b/src/test/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDTOServiceTest.java
@@ -0,0 +1,30 @@
+package de.ozgcloud.admin.reporting;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.util.stream.Stream;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mapstruct.factory.Mappers;
+import org.mockito.InjectMocks;
+import org.mockito.Spy;
+
+class ReportingAggregationManagerSettingDTOServiceTest {
+
+	@InjectMocks
+	private ReportingAggregationManagerSettingDTOService service;
+	@Spy
+	private AggregationMappingMapper mapper = Mappers.getMapper(AggregationMappingMapper.class);
+
+	@Nested
+	class TestMapToDto {
+		@Test
+		void shouldCreateDto() {
+			var dto = service.mapToDto(Stream.of(ReportingSettingTestFactory.create()));
+
+			assertThat(dto).usingRecursiveComparison().isEqualTo(ReportingSettingDtoTestFactory.create());
+		}
+	}
+
+}
diff --git a/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingDtoTestFactory.java b/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingDtoTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..b465498c212a189655f7fe6d06e44857e0b6857c
--- /dev/null
+++ b/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingDtoTestFactory.java
@@ -0,0 +1,25 @@
+package de.ozgcloud.admin.reporting;
+
+import static de.ozgcloud.admin.reporting.ReportingSettingTestFactory.*;
+
+import de.ozgcloud.admin.reporting.ReportingSettingDto.AggregationMappingDto;
+import de.ozgcloud.admin.reporting.ReportingSettingDto.FieldMappingDto;
+import de.ozgcloud.admin.reporting.ReportingSettingDto.FormIdentifierDto;
+
+class ReportingSettingDtoTestFactory {
+
+	public static final FormIdentifierDto FORM_IDENTIFIER = FormIdentifierDto.builder().formId(FORM_ID).formEngineName(FORM_ENGINE_NAME).build();
+
+	public static ReportingSettingDto create() {
+		return createBuilder().build();
+	}
+
+	public static ReportingSettingDto.ReportingSettingDtoBuilder createBuilder() {
+		return ReportingSettingDto.builder()
+				.aggregationMapping(AggregationMappingDto.builder()
+						.formIdentifier(FORM_IDENTIFIER)
+						.fieldMapping(FieldMappingDto.builder().sourcePath(SOURCE_PATH).targetPath(TARGET_PATH).build())
+						.build());
+	}
+
+}
diff --git a/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingsITCase.java b/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingITCase.java
similarity index 92%
rename from src/test/java/de/ozgcloud/admin/reporting/ReportingSettingsITCase.java
rename to src/test/java/de/ozgcloud/admin/reporting/ReportingSettingITCase.java
index 6e0a486da2fec9b410f770338962623438f1106f..298e5a192005f109e819bee8996965af1465961a 100644
--- a/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingsITCase.java
+++ b/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingITCase.java
@@ -6,7 +6,6 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
 
 import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
@@ -16,12 +15,13 @@ import org.springframework.security.test.context.support.WithMockUser;
 import org.springframework.test.web.servlet.MockMvc;
 
 import de.ozgcloud.common.test.DataITCase;
+import de.ozgcloud.common.test.TestUtils;
 import lombok.SneakyThrows;
 
 @AutoConfigureMockMvc
 @WithMockUser(roles = "ADMIN_ADMIN")
 @DataITCase
-class ReportingSettingsITCase {
+class ReportingSettingITCase {
 
 	@Autowired
 	private MockMvc mockMvc;
@@ -50,12 +50,11 @@ class ReportingSettingsITCase {
 				.andExpect(status().isUnprocessableEntity());
 	}
 
-	@Disabled
 	@Test
 	@SneakyThrows
 	void shouldAddReportingSetting() {
 		mockMvc.perform(post("/api/configuration/reportingSettings").with(csrf())
-				.contentType(MediaType.APPLICATION_JSON).content("{}"))
+				.contentType(MediaType.APPLICATION_JSON).content(TestUtils.loadTextFile("reporting/request.json")))
 				.andExpect(status().isCreated());
 
 		var collection = mongoOperations.getCollection("settings");
diff --git a/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingRepositoryITCase.java b/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingRepositoryITCase.java
new file mode 100644
index 0000000000000000000000000000000000000000..96905a1bc5ff958a2c008f719255012ff7893830
--- /dev/null
+++ b/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingRepositoryITCase.java
@@ -0,0 +1,37 @@
+package de.ozgcloud.admin.reporting;
+
+import static org.assertj.core.api.Assertions.*;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoOperations;
+
+import de.ozgcloud.admin.setting.SettingTestFactory;
+import de.ozgcloud.common.test.DataITCase;
+
+@DataITCase
+class ReportingSettingRepositoryITCase {
+
+	@Autowired
+	private ReportingSettingRepository repository;
+
+	@Autowired
+	private MongoOperations operations;
+
+	@BeforeEach
+	void dropCollection() {
+		operations.dropCollection("settings");
+	}
+
+	@Test
+	void shouldLoadOnlyFieldMapping() {
+		operations.save(ReportingSettingTestFactory.create());
+		operations.save(SettingTestFactory.create());
+
+		var result = repository.findAll();
+
+		assertThat(result).hasSize(1);
+	}
+
+}
diff --git a/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingTestFactory.java b/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..b825f04d3d39303a73301711c10a75b47011b9d0
--- /dev/null
+++ b/src/test/java/de/ozgcloud/admin/reporting/ReportingSettingTestFactory.java
@@ -0,0 +1,31 @@
+package de.ozgcloud.admin.reporting;
+
+import java.util.UUID;
+
+import de.ozgcloud.admin.reporting.ReportingSetting.FieldMapping;
+import de.ozgcloud.admin.reporting.ReportingSettingDto.FormIdentifierDto;
+
+class ReportingSettingTestFactory {
+
+	public static final String ID = UUID.randomUUID().toString();
+	public static final String FORM_ENGINE_NAME = "A12";
+	public static final String FORM_ID = "123AABC";
+
+	public static final String SOURCE_PATH = "name";
+	public static final String TARGET_PATH = "antragsteller.name";
+
+	public static ReportingSetting create() {
+		return createBuilder().build();
+	}
+
+	public static ReportingSetting.ReportingSettingBuilder createBuilder() {
+		return ReportingSetting.builder()
+				.id(UUID.randomUUID().toString())
+				.formIdentifier(FormIdentifierDto.builder()
+						.formEngineName(FORM_ENGINE_NAME)
+						.formId(FORM_ID)
+						.build())
+				.mapping(FieldMapping.builder().sourcePath(SOURCE_PATH).targetPath(TARGET_PATH).build());
+	}
+
+}
diff --git a/src/test/resources/application-itcase.yaml b/src/test/resources/application-itcase.yaml
index 05de7ad1649a52ab4e7b374aebe380da687ec0dd..0770237228911d2284f4d2237c22c005037cb7eb 100644
--- a/src/test/resources/application-itcase.yaml
+++ b/src/test/resources/application-itcase.yaml
@@ -1,4 +1,6 @@
 logging:
+  level:
+    '[org.springframework.data.mongodb]': WARN
   config: classpath:log4j2-local.xml
 
 spring:
diff --git a/src/test/resources/reporting/request.json b/src/test/resources/reporting/request.json
new file mode 100644
index 0000000000000000000000000000000000000000..19608183fde4c05f0d33b7bc72ce76f411b9bb40
--- /dev/null
+++ b/src/test/resources/reporting/request.json
@@ -0,0 +1,12 @@
+{
+	"formIdentifier": {
+		"formEngineName": "AFM",
+		"formId": "42"
+	},
+	"mappings": [
+		{
+			"sourcePath": "name",
+			"targetPath": "antragsteller.name"
+		}
+	] 
+}
\ No newline at end of file