Zum Inhalt

Company Advanced Reports Modul

Zweck

Das Company Advanced Reports Modul bietet erweiterte Report-Funktionen für Firmen mit Custom Report-Builder, erweiterten Filtern, automatisierter Report-Generierung, E-Mail-Versand, Template-Verwaltung und speziellen Export-Formaten.

Verantwortlichkeiten

Was gehört zum Modul

  • Custom Report-Builder: Eigene Reports erstellen
  • Erweiterte Filter: Erweiterte Filter-Optionen
  • Automatisierte Generierung: Automatische Report-Generierung
  • E-Mail-Versand: Reports per E-Mail versenden
  • Template-Verwaltung: Report-Templates verwalten
  • Spezielle Export-Formate: Erweiterte Export-Formate

Was gehört nicht zum Modul

  • Standard-Berichte: Siehe reports Modul
  • Daten-Erstellung: Daten werden von anderen Modulen bereitgestellt

Implementierung

Backend- und Frontend-API sind modular aufgebaut; Details siehe interne Entwickler-Dokumentation.

Konfiguration

Entitlement

Das Modul erfordert das Entitlement module.company_advanced_reports. Dieses wird pro Tenant aktiviert/deaktiviert und ist nur für Firmen-Tenants verfügbar.

Entitlement-Key: module.company_advanced_reports

Environment Variables

Keine modulspezifischen ENV-Variablen erforderlich.

Defaults

  • Standard-Format: PDF
  • E-Mail-Versand: Deaktiviert

Abhängigkeiten

Optionale Abhängigkeiten

  • reports: Für Basis-Report-Funktionalität

Core-Abhängigkeiten

Keine.

API-Endpoints

Authentifizierung

Alle Endpoints erfordern Authentifizierung. Zwei Methoden werden unterstützt:

  1. Firebase ID Token (Standard für Web-App)
  2. API-Token (für externe Nutzung)

Header: Authorization: Bearer <token>

Erweiterten Bericht generieren

POST /api/company-advanced-reports/generate

Generiert einen erweiterten Bericht (nur für Firmen-Tenants).

Wird dokumentiert: Detaillierte API-Endpunkt-Dokumentation folgt.

Firestore Collections

Report Templates

Pfad: /tenants/{tenantId}/reportTemplates/{templateId}

{
  name: string;
  config: Record<string, unknown>;
  format: 'pdf' | 'excel' | 'csv';
  schedule?: {
    enabled: boolean;
    frequency: 'daily' | 'weekly' | 'monthly';
    recipients: string[];
  };
  createdAt: Timestamp;
  updatedAt: Timestamp;
}

Wird dokumentiert: Detaillierte Datenbank-Struktur folgt.

Fehlerfälle

HTTP-Status-Codes

  • 200 OK: Erfolgreich
  • 400 Bad Request: Validierungsfehler
  • 401 Unauthorized: Nicht authentifiziert
  • 403 Forbidden: Keine Berechtigung (nur Firmen-Tenants)
  • 500 Internal Server Error: Server-Fehler

Fehlercodes

Wird dokumentiert: Detaillierte Fehlercodes folgen.

FAQ / Troubleshooting

Wird dokumentiert: Häufige Fragen und Lösungen folgen.