diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaService.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaService.java
index 0fe6d495bf3382335bbb41a8fc186feeb30ba300..f862343ae394ab692575d4ab1ffa228d3bcbf799 100644
--- a/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaService.java
+++ b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaService.java
@@ -9,6 +9,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
+import de.ozgcloud.eingang.common.formdata.FormHeader;
+import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier;
 import lombok.NonNull;
 import lombok.extern.log4j.Log4j2;
 
@@ -22,6 +24,8 @@ class XtaService {
 	private XtaRemoteService remoteService;
 	@Autowired
 	private XtaMessageMapper mapper;
+	@Autowired
+	private VorgangNummerSupplier vorgangNummerSupplier;
 
 	public Stream<FormData> getMessages() {
 		return createXtaMessageStream().filter(this::filterByMessageType).map(this::getFormData);
@@ -45,7 +49,16 @@ class XtaService {
 
 	public FormData getFormData(@NonNull XtaMessageMetaData metaData) {
 		var msg = remoteService.getMessage(metaData.getMessageId());
-		return mapper.toFormData(msg.toBuilder().metaData(metaData).build());
+		var formData = mapper.toFormData(msg.toBuilder().metaData(metaData).build());
+		return updateHeader(formData);
+	}
+
+	FormData updateHeader(FormData formData) {
+		return formData.toBuilder().header(setVorgangNummer(formData.getHeader())).build();
+	}
+
+	FormHeader setVorgangNummer(FormHeader formHeader) {
+		return formHeader.toBuilder().vorgangNummer(vorgangNummerSupplier.get()).build();
 	}
 
 	public void acknowledgeReceive(@NonNull XtaMessageId messageId) {
diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java
index 643602f8918e4082a2c71cc0cf6223a79945a596..58b6fcaa1179a3022a7fb7cca77e5f4a121c8982 100644
--- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java
+++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaServiceTest.java
@@ -6,6 +6,7 @@ import static org.mockito.Mockito.*;
 
 import java.util.stream.Stream;
 
+import org.assertj.core.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
@@ -15,6 +16,9 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
 
+import de.ozgcloud.eingang.common.formdata.FormData;
+import de.ozgcloud.eingang.common.vorgang.VorgangNummerSupplier;
+
 class XtaServiceTest {
 
 	private static final String MESSAGE_TYPE_OTHER = "MESSAGE_TYPE_OTHER";
@@ -27,6 +31,8 @@ class XtaServiceTest {
 	private XtaRemoteService remoteService;
 	@Mock
 	private XtaMessageMapper mapper;
+	@Mock
+	private VorgangNummerSupplier vorgangNummerSupplier;
 
 	@Nested
 	class TestGetMessagesAsFormData {
@@ -49,6 +55,7 @@ class XtaServiceTest {
 
 		@Test
 		void shouldCallFilterByMessageType() {
+			when(mapper.toFormData(any())).thenReturn(FormDataTestFactory.create());
 			when(remoteService.getMessage(any(XtaMessageId.class))).thenReturn(message);
 
 			service.getMessages().toList();
@@ -58,6 +65,7 @@ class XtaServiceTest {
 
 		@Test
 		void shouldCallGetFormData() {
+			when(mapper.toFormData(any())).thenReturn(FormDataTestFactory.create());
 			when(remoteService.getMessage(any(XtaMessageId.class))).thenReturn(message);
 			doReturn(true).when(service).filterByMessageType(messageMetaData);
 
@@ -101,6 +109,8 @@ class XtaServiceTest {
 
 		@Captor
 		private ArgumentCaptor<XtaMessage> messageCaptor;
+		@Mock
+		private FormData formData;
 
 		@BeforeEach
 		void init() {
@@ -109,6 +119,8 @@ class XtaServiceTest {
 
 		@Test
 		void shouldCallRemoteService() {
+			doReturn(formData).when(service).updateHeader(any());
+
 			service.getFormData(XtaMessageMetaDataTestFactory.create());
 
 			verify(remoteService).getMessage(XtaMessageTestFactory.MESSAGE_ID);
@@ -116,6 +128,8 @@ class XtaServiceTest {
 
 		@Test
 		void shouldCallMapper() {
+			doReturn(formData).when(service).updateHeader(any());
+
 			service.getFormData(XtaMessageMetaDataTestFactory.create());
 
 			verify(mapper).toFormData(any());
@@ -123,7 +137,9 @@ class XtaServiceTest {
 
 		@Test
 		void shouldHaveMetaData() {
+			doReturn(formData).when(service).updateHeader(any());
 			XtaMessageMetaData metaData = XtaMessageMetaDataTestFactory.create();
+
 			service.getFormData(metaData);
 
 			verify(mapper).toFormData(messageCaptor.capture());
@@ -134,6 +150,7 @@ class XtaServiceTest {
 		void shouldReturnMappedResult() {
 			var mapped = FormDataTestFactory.create();
 			when(mapper.toFormData(any())).thenReturn(mapped);
+			doReturn(mapped).when(service).updateHeader(any());
 
 			var result = service.getFormData(XtaMessageMetaDataTestFactory.create());
 
@@ -141,6 +158,50 @@ class XtaServiceTest {
 		}
 	}
 
+	@Nested
+	class TestUpdateHeader {
+
+		@Test
+		void shouldCallSetVorgangNummer() {
+			var formData = FormDataTestFactory.create();
+
+			service.updateHeader(formData);
+
+			verify(service).setVorgangNummer(formData.getHeader());
+		}
+
+		@Test
+		void shouldSetUpdatedHeader() {
+			var updatedHeader = FormHeaderTestFactory.create();
+			doReturn(updatedHeader).when(service).setVorgangNummer(any());
+
+			var result = service.updateHeader(FormDataTestFactory.create());
+
+			Assertions.assertThat(result.getHeader()).isSameAs(updatedHeader);
+		}
+	}
+
+	@Nested
+	class TestSetVorgangNummer {
+
+		@Test
+		void shouldCallVorgangNummerSupplier() {
+			service.setVorgangNummer(FormHeaderTestFactory.create());
+
+			verify(vorgangNummerSupplier).get();
+		}
+
+		@Test
+		void shouldSetVorgangNummer() {
+			var vorgangNummer = "vorgang-1";
+			when(vorgangNummerSupplier.get()).thenReturn(vorgangNummer);
+
+			var result = service.setVorgangNummer(FormHeaderTestFactory.create());
+
+			assertThat(result.getVorgangNummer()).isEqualTo(vorgangNummer);
+		}
+	}
+
 	@Nested
 	class TestAcknowledgeReceive {