Zum Hauptinhalt springen

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

- Berechtigung `view:BusinessAnalysis`. Ohne diese Rolle leitet die Seite zur Startseite um (`Navigate`-Komponente in der Page). - Verkaufsbelege im gewählten Datumsbereich, andernfalls bleiben die Tabs leer.

Berechtigungen (CASL)

ActionSubjectWirkungKeycloak-Rolle
viewFE_BusinessAnalysis, BusinessAnalysisSeite aufrufbar

Der Page-Component prueft ability.can('view', 'BusinessAnalysis') direkt — bei fehlender Berechtigung Redirect zu /.

Schritt-für-Schritt-Anleitung

  1. Geschäfts-Analyse (/business-analysis) öffnen.
  2. Metric-Toggle oben wählen (revenue, ggf. weitere).
  3. Datumsbereich unten festlegen (Default: zwei volle Jahre rueckwaerts).
  4. Aktualisieren klicken — useBusinessAnalysis-Hook laedt aggregierte Daten neu.
  5. Tab wählen (Mitarbeiter, Produkt, Kunde, Standort, Produkt-Gruppe, Produkt-Typ) — der jeweilige Tab zeigt sortiert/gefiltert die Daten.
  6. Jahr-Klick im RevenueChart filtert die Tabs auf dieses Jahr.

Listenansicht — business-analysis

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

TabKomponenteAggregation
MitarbeiterEmployeeAnalysisTabNach employeeId
ProduktProductAnalysisTabNach productId
KundeCustomerAnalysisTabNach customerId
StandortLocationAnalysisTabNach locationId
Produkt-GruppeProductGroupAnalysisTabNach productGroupId
Produkt-TypProductTypeAnalysisTabNach 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

Häufige Fehler und Lösungen

FehlerLösung
Tabs leerDatumsbereich ohne Belege oder view:BusinessAnalysis-Berechtigung fehlt nicht — sondern keine Daten in der Periode. Datumsbereich erweitern.
Redirect zur Startseiteview:BusinessAnalysis fehlt. Rolle prüfen.
Werte weichen vom Beleg-Stand abBelege im Status cancelled oder draft koennen ignoriert werden — definitive Logik in useBusinessAnalysis und Backend-Service.

API/Schnittstellen

MethodeEndpointZweckCASL
GET/api/business-analysis?startDate&endDate&metricTypeAggregierte Tab-Datenview BusinessAnalysis

Versionshinweise

  • 2026-04-30: Initiale Veroeffentlichung.