119 lines
4.7 KiB
Markdown
119 lines
4.7 KiB
Markdown
# 📋 OpenCRM – Todo-Liste
|
||
|
||
---
|
||
|
||
## 🔜 Offen
|
||
|
||
### Email Log & System testen
|
||
- Senden testen
|
||
- Empfangen testen
|
||
|
||
### Security System testen
|
||
|
||
### Email → Vertragsdokumente
|
||
Wenn eine Email einem Vertrag zugeordnet ist:
|
||
- Anhänge auch in Vertragsdokumente speichern
|
||
- Rechnungen wie Kündigungsdokumente behandeln
|
||
|
||
### Factory-Defaults: Export + Import von Lieferanten & Formularvorlagen
|
||
**Ziel:** Einmal gepflegte Stammdaten (Anbieter, Tarife, Kündigungsfristen, Laufzeiten,
|
||
PDF-Auftragsvorlagen) sollen sich exportieren und in andere Installationen oder
|
||
als Factory-Default beim Initialisieren wieder einspielen lassen.
|
||
|
||
**⚠️ Wichtig – Abgrenzung:**
|
||
- **KEINE Kundendaten, Verträge, Dokumente, Emails, SMTP-Einstellungen o.ä.**
|
||
- NUR reine Stammdaten-Kataloge ohne Bezug zu Kunden/Firma
|
||
- Für komplette Backups (inkl. Kundendaten, Dokumente, Einstellungen) gibt es bereits
|
||
den separaten Backup-Export
|
||
|
||
**Konzept:**
|
||
- Ordner: `backend/factory-defaults/` (gitignoriert für echte Firmen-Exports,
|
||
aber mit `.gitkeep` und optional einem öffentlich teilbaren `seeds/`-Unterordner)
|
||
Struktur:
|
||
```
|
||
backend/factory-defaults/
|
||
providers/ → providers.json (Anbieter + Tarife)
|
||
contract-meta/ → cancellationPeriods.json, contractDurations.json, contractCategories.json
|
||
pdf-templates/ → {templateName}.json + dazugehörige PDF-Datei
|
||
```
|
||
|
||
- **Export:** Button in Einstellungen → "Factory-Defaults exportieren"
|
||
- Erstellt ZIP mit allen JSON-Dateien + PDF-Vorlagen
|
||
- **Nur** Kataloge: Anbieter, Tarife, Kündigungsfristen, Laufzeiten, Vertragskategorien,
|
||
PDF-Auftragsvorlagen (inkl. PDF-Dateien + Feldzuordnungen)
|
||
- User entpackt das ZIP nach `backend/factory-defaults/`
|
||
|
||
- **Import-Script:** `backend/scripts/seed-factory-defaults.ts`
|
||
- Liest alle Dateien aus `backend/factory-defaults/`
|
||
- Bei mehreren Dateien: automatisches Mergen (per unique name)
|
||
- Nutzt Prisma `upsert` → idempotent, kann mehrfach ausgeführt werden
|
||
- PDF-Dateien werden nach `uploads/` kopiert + Pfade in DB aktualisiert
|
||
- Aufruf: `npm run seed:defaults`
|
||
|
||
- **Init-DB Integration:** Script wird optional beim Setup mit ausgeführt
|
||
wenn der Ordner existiert
|
||
|
||
---
|
||
|
||
## ✅ Erledigt
|
||
|
||
- [x] **Geburtsdatum + Geburtsort auch bei Firmenkunden**
|
||
- Felder werden jetzt unabhängig vom Kundentyp angezeigt
|
||
- Ermöglicht z.B. Geburtstage für Ansprechpartner bei Firmen
|
||
|
||
- [x] **Geburtstagskalender + Geburtstagsgruß-Modal**
|
||
- Admin: Section im Vertrags-Cockpit mit Kunden, die in den nächsten 30 Tagen oder letzten 7 Tagen Geburtstag haben
|
||
- Portal: Modal mit Gruß am Geburtstag (inkl. nachträglichem Glückwunsch bis 7 Tage danach)
|
||
- Wird pro Jahr nur einmal angezeigt
|
||
|
||
- [x] **Typspezifische Zusatzinfos in Vertragslisten**
|
||
- Strom/Gas → "Lieferadresse: ..."
|
||
- DSL/Glasfaser/Kabel → "Anschlussadresse: ..."
|
||
- Mobilfunk → "Rufnummer: ..."
|
||
- KFZ → "Kennzeichen: ..."
|
||
- Sichtbar in Admin-Liste, Portal-Liste und Kunden-Tab
|
||
|
||
- [x] **Datenschutzerklärung PDF ↔ Online-Einwilligungen synchronisieren**
|
||
- PDF hochgeladen → alle 4 Consents auf GRANTED
|
||
- Haken entfernt im Portal → PDF löschen + Tabs sperren
|
||
- Entsperrung nur durch alle Haken oder neues PDF
|
||
|
||
- [x] **Zweitarif-Zähler (HT/NT)** bei Strom + Verbrauchsberechnung
|
||
|
||
- [x] **Datumsformate vereinheitlichen** (01.01.2026 statt 1.1.2026)
|
||
|
||
- [x] **Audit-Log aussagekräftig** (Vorher/Nachher bei allen Änderungen)
|
||
|
||
- [x] **Impressum + Website-Datenschutzerklärung** im Kundenportal
|
||
- Editor in Einstellungen
|
||
- Vorschlagstexte
|
||
|
||
- [x] **Consent-Bestätigungs-Flow per Email**
|
||
- Alle Hebel müssen gesetzt sein
|
||
- Bestätigungsbutton + Bestätigungsemail
|
||
|
||
- [x] **Vertragsdokumente-Upload** (Auftragsformular, Lieferbestätigung, Vertragsunterlagen als PDF/PNG)
|
||
|
||
- [x] **Bug: Stressfrei-Email im Auftragsgenerator** (funktioniert jetzt im Vertrag)
|
||
|
||
- [x] **PDF-Auftragsvorlagen-System**
|
||
- Template-Editor in Einstellungen
|
||
- PDF hochladen, Formularfelder automatisch auslesen
|
||
- CRM-Felder zuordnen (visuell mit Vorschau)
|
||
- Seitenweise Sortierung der Felder
|
||
- Dynamische Rufnummern-Felder mit Vorwahl-Extraktion
|
||
- Nicht zugeordnete Felder bleiben editierbar
|
||
- Auftrag generieren aus Vertragsdaten (Button im Vertrags-Detail)
|
||
|
||
- [x] **Eigentümer-Verwaltung**
|
||
- An Adresse gehängt (Firma, Vorname, Nachname, Anschrift, Kontakt)
|
||
- Fallback auf Kundendaten wenn leer
|
||
- Nur bei Liefer-/Meldeadressen (nicht Rechnung)
|
||
- Namens-Kombinationen (Firma + Vorname + Nachname etc.)
|
||
|
||
- [x] **Gruppenauswahl Liefer-/Rechnungs-/Eigentümer-Adresse** im Auftragsgenerator
|
||
|
||
- [x] **Objekttyp + Lage + Lage des Anschlusses** bei Festnetz-Verträgen (DSL/Glasfaser/Kabel)
|
||
|
||
- [x] **Bankverbindung-Fallback** im PDF-Generator (neueste aktive Bankverbindung des Kunden)
|