diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.html b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.html
index 3eec0104f947b808750585d60d7a027d8fc2f111..5e02a4c17739dce5e4be8ce0ae9547b23d9565a2 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.html
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.html
@@ -7,6 +7,7 @@
   <alfa-vorgang-detail-bescheiden-antrag-bescheiden></alfa-vorgang-detail-bescheiden-antrag-bescheiden>
   <alfa-vorgang-detail-bescheiden-weiter-button
     (clickEmitter)="changeActiveStep(2)"
+    [submitResource]="submitResource"
   ></alfa-vorgang-detail-bescheiden-weiter-button>
 </alfa-vorgang-detail-bescheiden-step-content>
 
@@ -22,6 +23,7 @@
   ></alfa-vorgang-detail-bescheiden-dokumente-hinzufuegen>
   <alfa-vorgang-detail-bescheiden-weiter-button
     (clickEmitter)="changeActiveStep(3)"
+    [submitResource]="submitResource"
   ></alfa-vorgang-detail-bescheiden-weiter-button>
 </alfa-vorgang-detail-bescheiden-step-content>
 
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.ts
index a05c072bc6c488d8b4948180c7f7ebefb58de08a..ce42b5dcd7153c3e1e12b0eef65028a1586778ff 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-steps-content/vorgang-detail-bescheiden-steps-content.component.ts
@@ -1,4 +1,10 @@
-import { HttpError, StateResource, hasStateResourceError, isLoaded } from '@alfa-client/tech-shared';
+import {
+  HttpError,
+  StateResource,
+  createEmptyStateResource,
+  hasStateResourceError,
+  isLoaded,
+} from '@alfa-client/tech-shared';
 import {
   VorgangService,
   VorgangWithEingangLinkRel,
@@ -6,7 +12,7 @@ import {
 } from '@alfa-client/vorgang-shared';
 import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
 import { Resource, hasLink } from '@ngxp/rest';
-import { BehaviorSubject, Observable, combineLatest, filter, first, map } from 'rxjs';
+import { BehaviorSubject, Observable, combineLatest, filter, first, map, tap } from 'rxjs';
 import { BescheidenFormService } from '../../bescheiden.formservice';
 
 @Component({
@@ -24,6 +30,8 @@ export class VorgangDetailBescheidenStepsContentComponent implements OnInit {
 
   showBescheidErstellungUeberspringen$: Observable<boolean>;
 
+  submitResource: StateResource<Resource | HttpError> = createEmptyStateResource();
+
   constructor(
     private readonly vorgangService: VorgangService,
     private formService: BescheidenFormService,
@@ -45,7 +53,11 @@ export class VorgangDetailBescheidenStepsContentComponent implements OnInit {
     if (this.canChangeTo(step)) {
       this.formService
         .submit()
-        .pipe(filter(this.noError), first())
+        .pipe(
+          tap((resource: StateResource<Resource | HttpError>) => (this.submitResource = resource)),
+          filter(this.noError),
+          first(),
+        )
         .subscribe(() => {
           this.formService.setActiveStep(step);
           this.activeStepChange.emit(step);
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.html b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.html
index 55a9f67956faa09ff08e2e0849134c690a73059c..775963a1509562d11eda1d3f82d7d742a7850494 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.html
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.html
@@ -1,10 +1,11 @@
-<ods-button
+<ods-button-with-spinner
   *ngIf="showButton$ | async"
   (clickEmitter)="clickEmitter.emit()"
+  [stateResource]="submitResource"
   variant="primary"
   size="medium"
   class="mt-8 flex"
   dataTestId="bescheid-weiter-button"
   text="Weiter"
 >
-</ods-button>
+</ods-button-with-spinner>
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.ts
index f08201eec71c4d281c3ed90f759dba339080d548..5e89e7dd34f564986e2d2b48f78919d18c091041 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-steps/vorgang-detail-bescheiden-weiter-button/vorgang-detail-bescheiden-weiter-button.component.ts
@@ -1,8 +1,13 @@
 import { BescheidLinkRel, BescheidService } from '@alfa-client/bescheid-shared';
-import { isLoaded } from '@alfa-client/tech-shared';
+import {
+  HttpError,
+  StateResource,
+  createEmptyStateResource,
+  isLoaded,
+} from '@alfa-client/tech-shared';
 import { VorgangService, VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared';
-import { Component, EventEmitter, OnInit, Output } from '@angular/core';
-import { hasLink } from '@ngxp/rest';
+import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import { Resource, hasLink } from '@ngxp/rest';
 import { Observable, filter, map, merge } from 'rxjs';
 import { BescheidenFormService } from '../../bescheiden.formservice';
 
@@ -11,6 +16,7 @@ import { BescheidenFormService } from '../../bescheiden.formservice';
   templateUrl: './vorgang-detail-bescheiden-weiter-button.component.html',
 })
 export class VorgangDetailBescheidenWeiterButtonComponent implements OnInit {
+  @Input() submitResource: StateResource<Resource | HttpError> = createEmptyStateResource();
   @Output() clickEmitter: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();
 
   showButton$: Observable<boolean>;