diff --git a/forwarder/src/main/java/de/ozgcloud/eingang/forwarder/FileService.java b/forwarder/src/main/java/de/ozgcloud/eingang/forwarder/FileService.java
index 862aba7b8a80bc95762e567a1ed0cf3c7f31f763..91dcc0d3ea23794565de280ac8bfd192dd2401db 100644
--- a/forwarder/src/main/java/de/ozgcloud/eingang/forwarder/FileService.java
+++ b/forwarder/src/main/java/de/ozgcloud/eingang/forwarder/FileService.java
@@ -30,13 +30,14 @@ import java.util.concurrent.CompletableFuture;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
+import de.ozgcloud.common.binaryfile.TempFileUtils;
+
 @Service
 class FileService {
 
 	@Async
 	public CompletableFuture<File> saveToFile(InputStream inputStream) {
-		// TODO Auto-generated method stub
-		throw new UnsupportedOperationException("Unimplemented method 'saveToFile'");
+		return CompletableFuture.completedFuture(TempFileUtils.writeTmpFile(inputStream));
 	}
 
 }
diff --git a/forwarder/src/test/java/de/ozgcloud/eingang/forwarder/FileServiceTest.java b/forwarder/src/test/java/de/ozgcloud/eingang/forwarder/FileServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..795bcf585f68978745ceea5a8603b58f56c48885
--- /dev/null
+++ b/forwarder/src/test/java/de/ozgcloud/eingang/forwarder/FileServiceTest.java
@@ -0,0 +1,39 @@
+package de.ozgcloud.eingang.forwarder;
+
+import static org.assertj.core.api.Assertions.*;
+
+import java.io.ByteArrayInputStream;
+import java.nio.file.Files;
+
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+import org.mockito.Spy;
+
+import com.thedeanda.lorem.LoremIpsum;
+
+import lombok.SneakyThrows;
+
+class FileServiceTest {
+
+	@Spy
+	private FileService service;
+
+	@Nested
+	class TestSaveToFile {
+
+		private final byte[] content = LoremIpsum.getInstance().getWords(100).getBytes();
+
+		@Test
+		@SneakyThrows
+		void shouldReturnFutureOfFile() {
+			try (var inputStream = new ByteArrayInputStream(content);) {
+				var fileFuture = service.saveToFile(inputStream);
+
+				var fileContent = Files.readAllBytes(fileFuture.get().toPath());
+				assertThat(fileContent).isEqualTo(content);
+
+			}
+		}
+
+	}
+}