Einstellungen (Settings)
Zweck
/settings liefert die mandanten-weiten Einstellungen als Tab-Page. Der Tab „Allgemeine Daten" enthält u. a. den Firmennamen (eigenes Setting companyName); weitere Tabs decken Soziale Netzwerke, AGB, Impressum, Datenschutz, Öffentliche Seiten, Rechnungseingang, Onboarding, System-Mail und Mahnwesen ab.
Auto-Save-Pattern: Jede Änderung wird per useFormikContext().submitForm() ausgeloest und über SettingsService.updateSettings persistiert.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | FE_Settings, Settings | Tab-Page aufrufbar | — |
update | Settings | Werte ändern | APP_SPEAMCORE_UPDATE_SETTINGS |
view | AttributeValue | Firmen-Attribute lesen | APP_SPEAMCORE_VIEW_ATTRIBUTE_VALUE |
Schritt-für-Schritt-Anleitung
Generische Settings
- Einstellungen (
/settings) — Tab 0. SettingsFormrendert alle Settings-Einträge als Form. Auto-Save bei Änderung.
Firmenname pflegen
- Einstellungen (
/settings) → Tab „Allgemeine Daten". companyNameals einzelnes Text-Feld (eigenes Setting), Auto-Save.
Firmen-Stammdaten (Adresse, Bank, USt-ID)
Diese liegen nicht mehr in den Settings, sondern an der Hauptniederlassung: Niederlassungen öffnen → die als Hauptniederlassung markierte Niederlassung pflegen (Adresse, Bankverbindung, Firmen-Attribute). Siehe Hauptniederlassung.

Toolbar (Detail-Seite)
Schlanke Toolbar oben rechts:
| Icon | Aktion (aria-label) | CASL | Wirkung |
|---|---|---|---|
| ← | Zurückgehen | — | Zurück zur Liste. |
| 🏠 | Zur Startseite gehen | — | Springt auf das Dashboard / /. |
| ⏮/◀/▶/⏭ | Pagination | — | Navigation durch die gefilterte Liste — Massen-Bearbeitung ohne Liste-Sprung. |
Globale Floating-Drawer (links)
Wie auf jeder Detail-Seite verfuegbar — siehe Floating-Quickbar:
- KAL. (Mini-Kalender)
- ZEIT (Persoenliche Wochen-Arbeitszeit)
- ARBEIT (Eigene bevorstehende Aufträge)
UI-Elemente
Komponente: SettingsTabList
Tab-Leiste für /settings (Allgemeine Daten, Soziale Netzwerke, AGB, Impressum, Datenschutz, Öffentliche Seiten, Rechnungseingang, Onboarding, System-Mail, Mahnwesen). Der frühere Tab „Firmeneinstellungen" (/settings/company) ist entfallen.
Komponente: SettingsDataProvider
Generischer Loader für Settings-Einträge über SettingsService.listSettings.
Komponente: SettingsForm
Formik-basiertes Form mit Auto-Save.
Komponente: AttributeFields
Generischer Block, der für einen parentId/parentType die zugehörigen AttributeFields rendert (siehe Grundlage Custom-Fields).
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- Setup-Wizard — Schritt 3 (Mandantendaten) und 7 (Firmen-Profil) befuellen die Settings hier.
- Attribute und AttributeGroups — definieren das
companyAttributes-Profil. - Anpassung — Branding-Werte werden separat über PublicAttribute gespeichert, nicht hier.
Häufige Fehler und Lösungen
| Fehler | Lösung |
|---|---|
| Änderungen werden nicht gespeichert | update:Settings fehlt — SettingsForm-Felder werden disabled. |
| Firmen-Adresse/Bank/USt-ID nicht in den Settings auffindbar | Korrekt — sie liegen seit Juni 2026 an der Hauptniederlassung, nicht mehr unter /settings/company. |
| Belegkopf/Briefkopf zeigt falsche Adresse oder Bank | Prüfen, welche Niederlassung als Hauptniederlassung markiert ist — sie liefert Druck-, Adress- und Bankdaten. |
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/settings?filter[key=companyName] | Firmenname laden | view Settings |
PATCH | /api/settings/:id | Wert ändern | update Settings |
GET | /api/attribute-values?filter[parentType=Settings] | Firmen-Attribute laden | view AttributeValue |
Versionshinweise
- 2026-06-11: Firmen-Stammdaten-Umbau dokumentiert — Route/Tab
/settings/companyentfernt; Adresse, Kontakt, USt-ID/Steuernummer/Handelsregister und Bankverbindung liegen jetzt an der Hauptniederlassung. Firmenname (companyName) verbleibt im Tab „Allgemeine Daten". Verifiziert anSettingsTabList.tsx,SettingsForm.tsx,SettingsPage.tsxund den Backfill-Migrationen. - 2026-04-30: Initiale Veroeffentlichung.