diff --git a/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.html b/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.html
index ea4459162197ac7a91ea02431a23203ec3dccd51..fa88869240cab091c0f576ce8d75b3c238049b75 100644
--- a/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.html
+++ b/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.html
@@ -1 +1,15 @@
-<p>admin-statistik-fields-form works!</p>
+<h2 class="heading-2" data-test-id="statistik-fields-form-header-text">Felder zur Auswertung hinzufügen</h2>
+
+<ods-text-input
+  [fieldControl]="formEngineFormControl"
+  label="Formengine"
+  placeholder="Tragen Sie hier die Formengine des Formulars ein"
+  data-test-id="form-engine-input"
+></ods-text-input>
+
+<ods-text-input
+  [fieldControl]="formIdFormControl"
+  label="FormID"
+  placeholder="Tragen Sie hier die FormID des Formulars ein"
+  data-test-id="form-id-input"
+></ods-text-input>
diff --git a/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.spec.ts b/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.spec.ts
index d53fa335ea3020ec2291ef32075256182a99f2af..652e4a4905147d4ba1a65f5db80993b6f9548951 100644
--- a/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.spec.ts
+++ b/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.spec.ts
@@ -1,13 +1,28 @@
+import { existsAsHtmlElement, getElementComponentFromFixtureByCss } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { FormBuilder } from '@angular/forms';
+import { TextInputComponent } from '@ods/system';
+import { getDataTestIdOf } from '../../../../../../tech-shared/test/data-test';
 import { AdminStatistikFieldsFormComponent } from './admin-statistik-fields-form.component';
+import { StatistikFieldsFormService } from './statistik-fields.formservice';
 
 describe('AdminStatistikFieldsFormComponent', () => {
   let component: AdminStatistikFieldsFormComponent;
   let fixture: ComponentFixture<AdminStatistikFieldsFormComponent>;
 
+  const formEngineInputTestId: string = getDataTestIdOf('form-engine-input');
+  const formIdInputTestId: string = getDataTestIdOf('form-id-input');
+
+  let formService: StatistikFieldsFormService;
+
+  beforeEach(() => {
+    formService = new StatistikFieldsFormService(new FormBuilder());
+  });
+
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       imports: [AdminStatistikFieldsFormComponent],
+      providers: [{ provide: StatistikFieldsFormService, useValue: formService }],
     }).compileComponents();
 
     fixture = TestBed.createComponent(AdminStatistikFieldsFormComponent);
@@ -15,7 +30,57 @@ describe('AdminStatistikFieldsFormComponent', () => {
     fixture.detectChanges();
   });
 
-  it('should create', () => {
-    expect(component).toBeTruthy();
+  describe('component', () => {
+    it('should create', () => {
+      expect(component).toBeTruthy();
+    });
+
+    it('should set form controls', () => {
+      expect(component.formEngineFormControl).toBeDefined();
+      expect(component.formIdFormControl).toBeDefined();
+      expect(component.dataFieldsFormArray).toBeDefined();
+    });
+  });
+
+  describe('template', () => {
+    describe('form engine input', () => {
+      it('should exists', () => {
+        fixture.detectChanges();
+
+        existsAsHtmlElement(fixture, formEngineInputTestId);
+      });
+
+      it('should have been called with inputs', () => {
+        fixture.detectChanges();
+
+        const formEngineInput: TextInputComponent = getElementComponentFromFixtureByCss<TextInputComponent>(
+          fixture,
+          formEngineInputTestId,
+        );
+
+        expect(formEngineInput.fieldControl).toEqual(component.formEngineFormControl);
+      });
+    });
+
+    describe('form id input', () => {
+      it('should exists', () => {
+        fixture.detectChanges();
+
+        existsAsHtmlElement(fixture, formIdInputTestId);
+      });
+
+      it('should have been called with inputs', () => {
+        fixture.detectChanges();
+
+        const formIdInput: TextInputComponent = getElementComponentFromFixtureByCss<TextInputComponent>(
+          fixture,
+          formIdInputTestId,
+        );
+
+        expect(formIdInput.fieldControl).toEqual(component.formIdFormControl);
+      });
+    });
+
+    describe('data field input', () => {});
   });
 });
diff --git a/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.ts b/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.ts
index 2d5bbced355118f41d22250129b74a0bc8ea8c1a..d6a268624c29f3bd8e8d74f305778777c6330def 100644
--- a/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.ts
+++ b/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/admin-statistik-fields-form.component.ts
@@ -1,10 +1,25 @@
 import { CommonModule } from '@angular/common';
-import { Component } from '@angular/core';
+import { Component, inject } from '@angular/core';
+import { FormArray, FormControl } from '@angular/forms';
+import { TextInputComponent } from '@ods/system';
+import { StatistikFieldsFormService } from './statistik-fields.formservice';
 
 @Component({
   selector: 'admin-statistik-fields-form',
   standalone: true,
-  imports: [CommonModule],
+  imports: [CommonModule, TextInputComponent],
   templateUrl: './admin-statistik-fields-form.component.html',
 })
-export class AdminStatistikFieldsFormComponent {}
+export class AdminStatistikFieldsFormComponent {
+  private readonly formService = inject(StatistikFieldsFormService);
+
+  public readonly formEngineFormControl: FormControl = this.formService.form.controls[
+    StatistikFieldsFormService.FIELD_FORM_ENGINE
+  ] as FormControl;
+  public readonly formIdFormControl: FormControl = this.formService.form.controls[
+    StatistikFieldsFormService.FIELD_FORM_ID
+  ] as FormControl;
+  public readonly dataFieldsFormArray: FormArray = this.formService.form.controls[
+    StatistikFieldsFormService.FIELD_DATA_FIELDS
+  ] as FormArray;
+}
diff --git a/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/statistik-fields.formservice.ts b/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/statistik-fields.formservice.ts
new file mode 100644
index 0000000000000000000000000000000000000000..78cc57f803ab5a4af7f0e7f27c910ef3eea26fb4
--- /dev/null
+++ b/alfa-client/libs/admin/statistik/src/lib/statistik-container/statistik-fields-form/statistik-fields.formservice.ts
@@ -0,0 +1,28 @@
+import { AbstractFormService, EMPTY_STRING, StateResource } from '@alfa-client/tech-shared';
+import { Injectable } from '@angular/core';
+import { FormArray, FormControl, UntypedFormGroup } from '@angular/forms';
+import { Resource } from '@ngxp/rest';
+import { EMPTY, Observable } from 'rxjs';
+
+@Injectable()
+export class StatistikFieldsFormService extends AbstractFormService {
+  public static readonly FIELD_FORM_ENGINE: string = 'formEngine';
+  public static readonly FIELD_FORM_ID: string = 'formId';
+  public static readonly FIELD_DATA_FIELDS: string = 'dataFields';
+
+  protected initForm(): UntypedFormGroup {
+    return this.formBuilder.group({
+      [StatistikFieldsFormService.FIELD_FORM_ENGINE]: new FormControl(EMPTY_STRING),
+      [StatistikFieldsFormService.FIELD_FORM_ID]: new FormControl(EMPTY_STRING),
+      [StatistikFieldsFormService.FIELD_DATA_FIELDS]: new FormArray([new FormControl(EMPTY_STRING)]),
+    });
+  }
+
+  protected doSubmit(): Observable<StateResource<Resource>> {
+    return EMPTY;
+  }
+
+  protected getPathPrefix(): string {
+    return 'settingBody';
+  }
+}