Geschäfts-Analyse (BusinessAnalysis)
Zweck
/business-analysis ist ein Mehr-Tab-Reportingtool für Verkauf und Geschaeftserfolg. Auf einer Seite werden Kennzahlen aus verschiedenen Perspektiven aufbereitet:
- Mitarbeiter — wer hat wieviel umgesetzt.
- Produkt — Top-Produkte nach Umsatz/Anzahl/Marge.
- Kunde — A-/B-/C-Kunden.
- Standort — Auswertung nach Liegenschaft.
- Produkt-Gruppe — Gruppen-Aggregation.
- Produkt-Typ — Anlagen-/Komponenten-Typen.
Datumsbereich (startDate, endDate) und Metrik-Typ (revenue, ggf. weitere) sind global wählbar; ein RevenueChart zeigt den Trend über den gewählten Zeitraum.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | FE_BusinessAnalysis, BusinessAnalysis | Seite aufrufbar | — |
Der Page-Component prueft ability.can('view', 'BusinessAnalysis') direkt — bei fehlender Berechtigung Redirect zu /.
Schritt-für-Schritt-Anleitung
- Geschäfts-Analyse (
/business-analysis) öffnen. - Metric-Toggle oben wählen (
revenue, ggf. weitere). - Datumsbereich unten festlegen (Default: zwei volle Jahre rueckwaerts).
- Aktualisieren klicken —
useBusinessAnalysis-Hook laedt aggregierte Daten neu. - Tab wählen (Mitarbeiter, Produkt, Kunde, Standort, Produkt-Gruppe, Produkt-Typ) — der jeweilige Tab zeigt sortiert/gefiltert die Daten.
- Jahr-Klick im RevenueChart filtert die Tabs auf dieses Jahr.

UI-Elemente
Komponente: MetricToggle
Wechselt die Metrik zwischen den unterstuetzten Werten (aktuell mind. revenue).
Komponente: RevenueChart
Linien-/Balkenchart über den gewählten Zeitraum. Klick auf ein Jahr filtert die Tabs auf dieses Jahr.
Tab-Komponenten
| Tab | Komponente | Aggregation |
|---|---|---|
| Mitarbeiter | EmployeeAnalysisTab | Nach employeeId |
| Produkt | ProductAnalysisTab | Nach productId |
| Kunde | CustomerAnalysisTab | Nach customerId |
| Standort | LocationAnalysisTab | Nach locationId |
| Produkt-Gruppe | ProductGroupAnalysisTab | Nach productGroupId |
| Produkt-Typ | ProductTypeAnalysisTab | Nach productTypeId |
Hook: useBusinessAnalysis
Laedt aggregierte Daten über den BE-Endpoint /api/business-analysis mit startDate, endDate, metricType als Query-Parametern.
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- Verkaufsbelege — Datenbasis (vorrangig
SalesDocumentItem-Aggregation). - Mitarbeiter, Produkte, Kunden, Standorte, Produkt-Gruppen — Dimensionen der Aggregation.
- Dashboards — alternative Visualisierung mit Widgets, frei kombinierbar.
Häufige Fehler und Lösungen
| Fehler | Lösung |
|---|---|
| Tabs leer | Datumsbereich ohne Belege oder view:BusinessAnalysis-Berechtigung fehlt nicht — sondern keine Daten in der Periode. Datumsbereich erweitern. |
| Redirect zur Startseite | view:BusinessAnalysis fehlt. Rolle prüfen. |
| Werte weichen vom Beleg-Stand ab | Belege im Status cancelled oder draft koennen ignoriert werden — definitive Logik in useBusinessAnalysis und Backend-Service. |
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/business-analysis?startDate&endDate&metricType | Aggregierte Tab-Daten | view BusinessAnalysis |
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung.