Das CRM-Modul ist das Herzstück der Kundenverwaltung. Es ermöglicht die zentrale Verwaltung aller Kundenbeziehungen, Kontakte und zugehöriger Aktivitäten.
Hauptfunktionen
Kundenverwaltung: Stammdatenpflege mit Name, E-Mail, Telefon, Adresse, Steuernummer
Kundentypen: Unterscheidung zwischen B2B/B2C
Kontaktpersonen: Mehrere Ansprechpartner pro Kunde mit Position und Kontaktdaten
Kundenhistorie: Übersicht über alle Aktivitäten, Projekte, Rechnungen
GET /api/backoffice/crm/customers → Alle Kunden
GET /api/backoffice/crm/customers/:id → Einzelner Kunde
POST /api/backoffice/crm/customers → Neuer Kunde
PUT /api/backoffice/crm/customers/:id → Kunde aktualisieren
DELETE /api/backoffice/crm/customers/:id → Kunde löschen
GET /api/backoffice/crm/contacts → Alle Kontakte
GET /api/backoffice/crm/contacts/:id → Einzelner Kontakt
POST /api/backoffice/crm/contacts → Neuer Kontakt
PUT /api/backoffice/crm/contacts/:id → Kontakt aktualisieren
DELETE /api/backoffice/crm/contacts/:id → Kontakt löschen
GET /api/backoffice/crm/stats → CRM-Statistiken
GET /api/backoffice/crm/activities → CRM-Aktivitäten
Status-Tracking: Geplant, In Bearbeitung, Abgeschlossen, Abgebrochen
Kundenzuordnung: Verknüpfung mit CRM-Kunden
Abteilungszuordnung: Zuständige Abteilung
Projektübersicht: Dashboard mit allen aktiven Projekten
API-Endpunkte
1
2
3
4
5
6
GET /api/backoffice/projects → Alle Projekte
GET /api/backoffice/projects/:id → Einzelnes Projekt
POST /api/backoffice/projects → Neues Projekt
PUT /api/backoffice/projects/:id → Projekt aktualisieren
DELETE /api/backoffice/projects/:id → Projekt löschen
GET /api/backoffice/projects/:id/stats → Projekt-Statistiken
Features: Filter nach Kunde, Pagination, Status-Management
3. Zeiterfassung
Beschreibung
Erfassung von Arbeitszeiten pro Mitarbeiter und Projekt mit automatischer Dauerberechnung.
Hauptfunktionen
Zeitbuchung: Start-/Endzeit mit automatischer Berechnung
Projektbezug: Jede Zeitbuchung einem Projekt zugeordnet
Notizen: Beschreibung der durchgeführten Tätigkeit
Mitarbeiterübersicht: Zeitbuchungen pro Mitarbeiter
Projektübersicht: Gesamtzeit pro Projekt
Zeitberichte: Export & Auswertungen
API-Endpunkte
1
2
3
4
5
6
7
GET /api/backoffice/time-entries → Alle Zeiteinträge
GET /api/backoffice/time-entries/:id → Einzelner Zeiteintrag
POST /api/backoffice/time-entries → Neuer Zeiteintrag
PUT /api/backoffice/time-entries/:id → Zeiteintrag aktualisieren
DELETE /api/backoffice/time-entries/:id → Zeiteintrag löschen
GET /api/backoffice/time-entries/by-project/:id → Nach Projekt
GET /api/backoffice/time-entries/by-employee/:id → Nach Mitarbeiter
# LIST & FILTERS
GET /api/backoffice/invoices → Alle Rechnungen (mit Pagination & Filtern)
GET /api/backoffice/invoices/statistics → Statistiken (Umsatz, offene Forderungen)
GET /api/backoffice/invoices/:id → Einzelne Rechnung
GET /api/backoffice/invoices/by-number/:invoice_number → Nach Rechnungsnummer
# CREATE & UPDATE
POST /api/backoffice/invoices → Neue Rechnung (mit Line Items)
PATCH /api/backoffice/invoices/:id → Rechnung aktualisieren
PATCH /api/backoffice/invoices/:id/status → Nur Status ändern
POST /api/backoffice/invoices/:id/recalculate → Totals neu berechnen
# DELETE
DELETE /api/backoffice/invoices/:id → Rechnung löschen (mit Cascade)
# PDF OPERATIONS
GET /api/backoffice/invoices/:id/pdf → PDF herunterladen (auto-generate falls fehlt)
POST /api/backoffice/invoices/:id/regenerate-pdf → PDF neu generieren
# BULK OPERATIONS
POST /api/backoffice/invoices/bulk/status-update → Status für mehrere Rechnungen
# PAYMENTS (siehe Zahlungsmanagement)
POST /api/backoffice/invoices/:id/payments → Zahlung hinzufügen
GET /api/backoffice/invoices/:id/payments → Alle Zahlungen einer Rechnung
1. Kunde anlegen (CRM)
↓
2. Projekt erstellen & Kunde zuordnen (Projektmanagement)
↓
3. Zeit auf Projekt buchen (Zeiterfassung)
↓
4. Rechnung aus Zeiteinträgen generieren (Rechnungsmanagement)
↓
5. Zahlungseingang erfassen (Zahlungsmanagement)
↓
6. Ausgaben für Projekt erfassen (Ausgabenverwaltung)
↓
7. Projekt-Kommunikation (Chat)