PDF-Auftragsvorlagen-System, Objekttyp/Lage-Felder, Eigentümer-Fallback bei Bankverbindung
- PDF-Template-Editor in Einstellungen: Vorlagen hochladen, Formularfelder automatisch auslesen, CRM-Felder zuordnen - PDF-Vorschau mit annotierten Feldnamen, seitenweise Sortierung der Felder - Auftrag generieren aus Vertragsdaten (Button im Vertrags-Detail) - Dynamische Rufnummern-Felder mit Vorwahl-Extraktion und konfigurierbarer Maximalanzahl - Nicht zugeordnete Felder bleiben editierbar im generierten PDF - Eigentümer-Felder mit Namens-Kombinationen (Firma+Name etc.) und Fallback auf Kundendaten - Stressfrei-E-Mail als Feld-Option im Template-Editor - Objekttyp, Lage und Lage des Anschlusses als neue Felder bei Festnetz-Verträgen (DSL, Glasfaser, Kabel) - Bankverbindung-Fallback: wenn keine am Vertrag verknüpft, wird automatisch die neueste aktive des Kunden genommen Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,26 @@ datasource db {
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
// ==================== PDF TEMPLATES (Auftragsvorlagen) ====================
|
||||
|
||||
model PdfTemplate {
|
||||
id Int @id @default(autoincrement())
|
||||
name String @unique // z.B. "EWE Auftragsformular"
|
||||
description String? // Beschreibung
|
||||
providerName String? // Zugehöriger Anbieter (z.B. "EWE")
|
||||
templatePath String // Pfad zur PDF-Vorlage
|
||||
originalName String // Originaler Dateiname
|
||||
// Feld-Mapping: JSON-Objekt { pdfFieldName: crmFieldPath }
|
||||
// z.B. { "Vorname": "customer.firstName", "PLZ": "customer.addresses[0].postalCode" }
|
||||
fieldMapping String @db.LongText // JSON
|
||||
// Rufnummern-Konfiguration
|
||||
phoneFieldPrefix String? // Prefix für Rufnummern-Felder (z.B. "Rufnummer")
|
||||
maxPhoneFields Int? @default(8) // Max. Rufnummern-Felder im PDF
|
||||
isActive Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
// ==================== EMAIL LOG ====================
|
||||
|
||||
model EmailLog {
|
||||
@@ -224,6 +244,17 @@ model Address {
|
||||
city String
|
||||
country String @default("Deutschland")
|
||||
isDefault Boolean @default(false)
|
||||
// Eigentümer (leer = Kunde ist selbst Eigentümer)
|
||||
ownerCompany String?
|
||||
ownerFirstName String?
|
||||
ownerLastName String?
|
||||
ownerStreet String?
|
||||
ownerHouseNumber String?
|
||||
ownerPostalCode String?
|
||||
ownerCity String?
|
||||
ownerPhone String?
|
||||
ownerMobile String?
|
||||
ownerEmail String?
|
||||
contractsAsDelivery Contract[] @relation("DeliveryAddress")
|
||||
contractsAsBilling Contract[] @relation("BillingAddress")
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
Reference in New Issue
Block a user