diff --git a/src/main/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsRepository.java b/src/main/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsRepository.java
new file mode 100644
index 0000000000000000000000000000000000000000..1eded7df64c78956c696ebc3e2e8c4b6d77eb19e
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsRepository.java
@@ -0,0 +1,16 @@
+package de.ozgcloud.admin.common.organisationseinheit;
+
+import java.util.stream.Stream;
+
+import org.springframework.data.mongodb.repository.MongoRepository;
+import org.springframework.data.mongodb.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheit;
+
+@Repository
+interface OrganisationsEinheitSettingsRepository extends MongoRepository<OrganisationsEinheit, String> {
+
+	@Query("{'settings': { $nin: [null,{}] } }")
+	Stream<OrganisationsEinheitWithSettings> getSettings();
+}
diff --git a/src/main/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsService.java b/src/main/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsService.java
new file mode 100644
index 0000000000000000000000000000000000000000..c5d6e894b604bf298870bd2b417e8491eb3986cc
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsService.java
@@ -0,0 +1,24 @@
+package de.ozgcloud.admin.common.organisationseinheit;
+
+import java.util.Map;
+import java.util.stream.Stream;
+
+import org.springframework.stereotype.Service;
+
+import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettings;
+import lombok.RequiredArgsConstructor;
+
+@Service
+@RequiredArgsConstructor
+public class OrganisationsEinheitSettingsService {
+
+	private final OrganisationsEinheitSettingsRepository settingsRepository;
+
+	public Map<String, OrganisationsEinheitSettings> getSettings() {
+		return getSettingsMap(settingsRepository.getSettings());
+	}
+
+	Map<String, OrganisationsEinheitSettings> getSettingsMap(Stream<OrganisationsEinheitWithSettings> settings) {
+		return Map.of();
+	}
+}
diff --git a/src/main/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitWithSettings.java b/src/main/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitWithSettings.java
new file mode 100644
index 0000000000000000000000000000000000000000..bd9aa33e3f3c697be38e6c91b81821d689f242a5
--- /dev/null
+++ b/src/main/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitWithSettings.java
@@ -0,0 +1,9 @@
+package de.ozgcloud.admin.common.organisationseinheit;
+
+import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettings;
+
+interface OrganisationsEinheitWithSettings {
+
+	String getOrganisationsEinheitId();
+	OrganisationsEinheitSettings getSettings();
+}
diff --git a/src/main/java/de/ozgcloud/admin/organisationseinheit/OrganisationsEinheitRepository.java b/src/main/java/de/ozgcloud/admin/organisationseinheit/OrganisationsEinheitRepository.java
index e2463b30f5ff16935c7a942aae6d173d02940616..3f8e3c38963297d397cb05542479f4a8a1d99984 100644
--- a/src/main/java/de/ozgcloud/admin/organisationseinheit/OrganisationsEinheitRepository.java
+++ b/src/main/java/de/ozgcloud/admin/organisationseinheit/OrganisationsEinheitRepository.java
@@ -27,7 +27,4 @@ interface OrganisationsEinheitRepository extends MongoRepository<OrganisationsEi
 
 	@Query("{'syncResult': { $eq: null }}")
 	Stream<OrganisationsEinheit> findAllWithoutSyncResult();
-
-	@Query("{'settings': { $nin: [null,{}] } }")
-	Stream<OrganisationsEinheitWithSettings> getSettings();
 }
diff --git a/src/main/java/de/ozgcloud/admin/organisationseinheit/OrganisationsEinheitWithSettings.java b/src/main/java/de/ozgcloud/admin/organisationseinheit/OrganisationsEinheitWithSettings.java
deleted file mode 100644
index 01fa5cc5737ba6a0c480850f6e40e1536490f90d..0000000000000000000000000000000000000000
--- a/src/main/java/de/ozgcloud/admin/organisationseinheit/OrganisationsEinheitWithSettings.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.ozgcloud.admin.organisationseinheit;
-
-interface OrganisationsEinheitWithSettings {
-
-	String getOrganisationsEinheitId();
-	OrganisationsEinheitSettings getSettings();
-}
diff --git a/src/main/java/de/ozgcloud/admin/setting/SettingService.java b/src/main/java/de/ozgcloud/admin/setting/SettingService.java
index ca6a15e72d2e7032faa1def7d2dac03785a0d758..3c5ceb01cc06ab50359c0c97233e023192f11e2d 100644
--- a/src/main/java/de/ozgcloud/admin/setting/SettingService.java
+++ b/src/main/java/de/ozgcloud/admin/setting/SettingService.java
@@ -11,7 +11,6 @@ class SettingService {
 	private static final String POSTFACH_SETTING_ITEM_NAME = "Postfach";
 
 	private final SettingRepository repository;
-
 	private final SettingMapper mapper;
 
 	public AlfaSettingDTO getAlfaSettingDTO() {
diff --git a/src/test/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsRepositoryITCase.java b/src/test/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsRepositoryITCase.java
new file mode 100644
index 0000000000000000000000000000000000000000..548f6f55b7062c6f5a6887833394d2182d665c45
--- /dev/null
+++ b/src/test/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsRepositoryITCase.java
@@ -0,0 +1,91 @@
+package de.ozgcloud.admin.common.organisationseinheit;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.util.UUID;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.ContextConfiguration;
+
+import com.thedeanda.lorem.LoremIpsum;
+
+import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheit;
+import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettings;
+import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettingsTestFactory;
+import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitTestFactory;
+import de.ozgcloud.common.test.DbInitializer;
+
+@DataMongoTest
+@ContextConfiguration(initializers = { DbInitializer.class }, classes = { OrganisationsEinheitSettingsRepository.class, MongoOperations.class })
+@ActiveProfiles({ "itcase", "with_db" })
+@EnableAutoConfiguration
+class OrganisationsEinheitSettingsRepositoryITCase {
+
+	@Autowired
+	private OrganisationsEinheitSettingsRepository repository;
+	@Autowired
+	private MongoOperations operations;
+
+	@BeforeEach
+	void clearDatabase() {
+		operations.dropCollection(OrganisationsEinheit.class);
+	}
+
+	@Nested
+	class TestGetSettings {
+
+		private final OrganisationsEinheit withSignatur1 = OrganisationsEinheitTestFactory.createBuilder()
+				.id(UUID.randomUUID().toString())
+				.organisationsEinheitId(UUID.randomUUID().toString())
+				.settings(withRandomSignatur())
+				.build();
+		private final OrganisationsEinheit withSignatur2 = OrganisationsEinheitTestFactory.createBuilder()
+				.id(UUID.randomUUID().toString())
+				.organisationsEinheitId(UUID.randomUUID().toString())
+				.settings(withRandomSignatur())
+				.build();
+		private final OrganisationsEinheit withNullSettings = OrganisationsEinheitTestFactory.createBuilder()
+				.id(UUID.randomUUID().toString())
+				.organisationsEinheitId(UUID.randomUUID().toString())
+				.settings(null)
+				.build();
+		private final OrganisationsEinheit withEmptySettings = OrganisationsEinheitTestFactory.createBuilder()
+				.id(UUID.randomUUID().toString())
+				.organisationsEinheitId(UUID.randomUUID().toString())
+				.settings(OrganisationsEinheitSettings.builder().build())
+				.build();
+
+		@BeforeEach
+		void setUp() {
+			operations.save(withSignatur1);
+			operations.save(withSignatur2);
+			operations.save(withNullSettings);
+			operations.save(withEmptySettings);
+		}
+
+		@Test
+		void shouldFind() {
+			var found = repository.getSettings();
+
+			assertThat(found).extracting(OrganisationsEinheitWithSettings::getOrganisationsEinheitId, item -> item.getSettings().getSignatur())
+					.containsExactlyInAnyOrder(
+							tuple(withSignatur1.getOrganisationsEinheitId(), withSignatur1.getSettings().getSignatur()),
+							tuple(withSignatur2.getOrganisationsEinheitId(), withSignatur2.getSettings().getSignatur()));
+		}
+
+		private static OrganisationsEinheitSettings withRandomSignatur() {
+			return withSignatur(LoremIpsum.getInstance().getWords(5));
+		}
+
+		private static OrganisationsEinheitSettings withSignatur(String signatur) {
+			return OrganisationsEinheitSettingsTestFactory.createBuilder().signatur(signatur).build();
+		}
+	}
+}
diff --git a/src/test/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsServiceTest.java b/src/test/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..f6283b9230c77de52f71b43888baf5a225574b93
--- /dev/null
+++ b/src/test/java/de/ozgcloud/admin/common/organisationseinheit/OrganisationsEinheitSettingsServiceTest.java
@@ -0,0 +1,85 @@
+package de.ozgcloud.admin.common.organisationseinheit;
+
+import static org.assertj.core.api.Assertions.*;
+import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.Mockito.*;
+
+import java.util.Map;
+import java.util.stream.Stream;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Spy;
+
+import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettings;
+import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettingsTestFactory;
+import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitTestFactory;
+
+class OrganisationsEinheitSettingsServiceTest {
+
+	@Mock
+	private OrganisationsEinheitSettingsRepository settingsRepository;
+	@Spy
+	@InjectMocks
+	private OrganisationsEinheitSettingsService service;
+
+	private final OrganisationsEinheitWithSettings withSettings1 = mockWith(OrganisationsEinheitTestFactory.ID,
+			OrganisationsEinheitSettingsTestFactory.create());
+
+	@BeforeEach
+	void init() {
+		when(settingsRepository.getSettings()).thenReturn(Stream.of(withSettings1));
+	}
+
+	@Nested
+	class TestGetSettings {
+
+		private final Map<String, OrganisationsEinheitSettings> settingsMap = Map.of(
+			OrganisationsEinheitTestFactory.ORGANISATIONS_EINHEIT_ID, OrganisationsEinheitSettingsTestFactory.create()
+		);
+
+		@Captor
+		private ArgumentCaptor<Stream<OrganisationsEinheitWithSettings>> streamArgumentCaptor;
+
+		@BeforeEach
+		void init() {
+			doReturn(settingsMap).when(service).getSettingsMap(any());
+		}
+
+		@Test
+		void shouldGetSettings() {
+			callService();
+
+			verify(settingsRepository).getSettings();
+		}
+
+		@Test
+		void shouldGetSettingsMap() {
+			callService();
+
+			verify(service).getSettingsMap(streamArgumentCaptor.capture());
+			assertThat(streamArgumentCaptor.getValue()).containsExactly(withSettings1);
+		}
+
+		private Map<String, OrganisationsEinheitSettings> callService() {
+			return service.getSettings();
+		}
+	}
+
+	@Nested
+	class TestGetSettingsMap {
+
+	}
+
+	private OrganisationsEinheitWithSettings mockWith(String organisationsEinheitId, OrganisationsEinheitSettings settings) {
+		var withSettings = mock(OrganisationsEinheitWithSettings.class);
+		when(withSettings.getOrganisationsEinheitId()).thenReturn(organisationsEinheitId);
+		when(withSettings.getSettings()).thenReturn(settings);
+		return withSettings;
+	}
+}
diff --git a/src/test/java/de/ozgcloud/admin/organisationseinheit/OrganisationsEinheitRepositoryITCase.java b/src/test/java/de/ozgcloud/admin/organisationseinheit/OrganisationsEinheitRepositoryITCase.java
index ac189d04921e96085d3ce001a3b1ff8246a50a71..9267fc3b7ae6a09af7d243983c56371cbe2656ee 100644
--- a/src/test/java/de/ozgcloud/admin/organisationseinheit/OrganisationsEinheitRepositoryITCase.java
+++ b/src/test/java/de/ozgcloud/admin/organisationseinheit/OrganisationsEinheitRepositoryITCase.java
@@ -16,8 +16,6 @@ import org.springframework.data.mongodb.core.MongoOperations;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.ContextConfiguration;
 
-import com.thedeanda.lorem.LoremIpsum;
-
 import de.ozgcloud.common.test.DbInitializer;
 
 @DataMongoTest
@@ -288,55 +286,4 @@ class OrganisationsEinheitRepositoryITCase {
 
 		}
 	}
-
-	@Nested
-	class TestGetSettings {
-
-		private final OrganisationsEinheit withSignatur1 = OrganisationsEinheitTestFactory.createBuilder()
-				.id(UUID.randomUUID().toString())
-				.organisationsEinheitId(UUID.randomUUID().toString())
-				.settings(withRandomSignatur())
-				.build();
-		private final OrganisationsEinheit withSignatur2 = OrganisationsEinheitTestFactory.createBuilder()
-				.id(UUID.randomUUID().toString())
-				.organisationsEinheitId(UUID.randomUUID().toString())
-				.settings(withRandomSignatur())
-				.build();
-		private final OrganisationsEinheit withNullSettings = OrganisationsEinheitTestFactory.createBuilder()
-				.id(UUID.randomUUID().toString())
-				.organisationsEinheitId(UUID.randomUUID().toString())
-				.settings(null)
-				.build();
-		private final OrganisationsEinheit withEmptySettings = OrganisationsEinheitTestFactory.createBuilder()
-				.id(UUID.randomUUID().toString())
-				.organisationsEinheitId(UUID.randomUUID().toString())
-				.settings(new OrganisationsEinheitSettings(null))
-				.build();
-
-		@BeforeEach
-		void setUp() {
-			operations.save(withSignatur1);
-			operations.save(withSignatur2);
-			operations.save(withNullSettings);
-			operations.save(withEmptySettings);
-		}
-
-		@Test
-		void shouldFind() {
-			var found = repository.getSettings();
-
-			assertThat(found).extracting(OrganisationsEinheitWithSettings::getOrganisationsEinheitId, item -> item.getSettings().getSignatur())
-					.containsExactlyInAnyOrder(
-							tuple(withSignatur1.getOrganisationsEinheitId(), withSignatur1.getSettings().getSignatur()),
-							tuple(withSignatur2.getOrganisationsEinheitId(), withSignatur2.getSettings().getSignatur()));
-		}
-
-		private static OrganisationsEinheitSettings withRandomSignatur() {
-			return withSignatur(LoremIpsum.getInstance().getWords(5));
-		}
-
-		private static OrganisationsEinheitSettings withSignatur(String signatur) {
-			return OrganisationsEinheitSettingsTestFactory.createBuilder().signatur(signatur).build();
-		}
-	}
 }
\ No newline at end of file