# Konzept: Webanwendung zur Unterstützung der Kundenakquise Datum: 08. Juni 2026 Verantwortlich: Gerd Goldberg ## 1. Einleitung Dieses Dokument beschreibt das Konzept für eine neue Webanwendung, die eine bestehende Anwendung zur Kundenakquise ablösen soll. Die neue Lösung ermöglicht die Verwaltung von Kunden, Kontakten, Projekten und Gesprächsnotizen sowie die manuelle und optionale telefonieintegrierte Erfassung von Anrufen, um Akquise-Prozesse effizient zu unterstützen. Ziel ist die Ablösung der bestehenden Anwendung, um die Effizienz, Benutzerfreundlichkeit und Transparenz der Akquise-Prozesse zu steigern. Alle relevanten Informationen werden zentral verwaltet und können einfach ausgewertet werden. --- ## 2. Zielsetzung Die neue Webanwendung soll folgende Hauptziele erfüllen: - Ablösung der bestehenden Anwendung durch eine moderne, webbasierte Lösung. - Zentrale Verwaltung von Kunden, Kontakten und Projekten. - Dokumentation von Akquise-Aktivitäten (Anrufe, Gesprächsnotizen, Tags). - Manuelle Erfassung von Anrufen (ausgehend und eingehend). - Flexible Import-Schnittstelle für Kontaktadressen (Excel/CSV). - Optionale Telefonie-Integration (für spätere Entwicklung vorgesehen). - Auswertungen und Exporte zur Analyse der Akquise-Erfolge. - Mehrbenutzerfähigkeit mit projektbasierten Zugriffsrechten. --- ## 3. Funktionsumfang ### 3.1 Kunden- und Kontaktverwaltung - **Kundenstamm:** Verwaltung aller Kunden (Firmen oder Privatpersonen) mit allen relevanten Daten (Name, Adresse, Kontaktdaten). - **Kontakte:** - Definition: Ansprechpartner beim Kunden (Auftraggeber). - Jeder Kunde kann mehrere Kontakte (Ansprechpartner) mit individuellen Daten (Name, Position, Telefonnummer, E-Mail) haben. - Jeder Kontakt ist genau einem Kunden zugeordnet. ### 3.2 Projektverwaltung - Jeder Kunde kann ein oder mehrere Projekte haben. - Projekte dienen der Strukturierung der Akquise-Aktivitäten und können mit Benutzern verknüpft werden. ### 3.3 Kontaktadressen und Gesprächsnotizen - **Kontaktadressen:** - Definition: Kontakte, die im Rahmen eines Projekts angerufen werden sollen. - Dies können Firmen oder Privatpersonen sein, die als potenzielle Interessenten oder Zielgruppen für die Akquise infrage kommen. - Jede Kontaktadresse enthält Informationen wie Name, Telefonnummer, E-Mail, Firma (falls zutreffend) und weitere Details. - Zuordnung zu Projekten: Jede Kontaktadresse ist genau einem Projekt zugeordnet. - Importfunktion: Kontaktadressen können per Excel oder CSV importiert werden (siehe Abschnitt 3.4). - **Gesprächsnotizen:** - Zu jedem Anruf (manuell oder telefonieintegriert) an eine Kontaktadresse wird eine Notiz erfasst, die folgende Informationen enthält: - Metadaten: Datum, Uhrzeit, Anrufer (Benutzer), angerufene Kontaktadresse, Projekt, Anrufrichtung (ausgehend/eingehend), Dauer. - Inhalt: Freier Text zur Dokumentation des Gesprächs. - Tags: Benutzerdefinierte Kennzeichen zur Kategorisierung (z. B. „Unterlagen schicken", „Kein Interesse", „Wiedervorlage"). ### 3.4 Import-Schnittstelle für Kontaktadressen - **Flexibler Import:** - Unterstützte Formate: Excel (XLSX) und CSV. - Feldzuordnung: Der Benutzer kann die Spalten der Importdatei den Feldern der Anwendung zuordnen (z. B. Name → Name, Telefonnummer → Telefonnummer). - Validierung: Automatische Prüfung der Daten auf Vollständigkeit und Konsistenz (z. B. Telefonnummernformat). - Fehlerbehandlung: Anzeige von Fehlern (z. B. fehlende Pflichtfelder) und Möglichkeit zur Korrektur vor dem Import. - Projektzuordnung: Beim Import kann das Zielprojekt ausgewählt werden, dem die Kontaktadressen zugeordnet werden sollen. ### 3.5 Manuelle Anrufverarbeitung - **Erfassung von Anrufen:** - Benutzer können manuell ausgehende und eingehende Anrufe erfassen. - Formular zur manuellen Eingabe von Anrufdaten (Datum, Uhrzeit, Kontaktadresse, Notiz, Tags). - Flexibilität: Ermöglicht die Nutzung der Anwendung unabhängig von einer Telefonie-Integration. ### 3.6 Optionale Telefonie-Integration (für spätere Entwicklung) - **Zukünftige Erweiterung:** - Outbound-Calls: Direktes Anrufen von Kontaktadressen aus der Anwendung heraus (über JavaScript-Bibliotheken wie SIP.js oder Anbieter-SDKs). - Inbound-Calls: Automatische Anzeige des zugehörigen Kunden oder Kontakts bei eingehenden Anrufen. - Call-Logging: Automatische Speicherung von Anrufdaten (Datum, Uhrzeit, Dauer) und Zuordnung zu Gesprächsnotizen. - Hinweis: Diese Funktion ist optional und für eine spätere Entwicklungsphase vorgesehen. ### 3.7 Auswertungen und Exporte - Statistiken: Anzahl der Kontakte, Erfolgsquoten, Bearbeitungszeiten. - Filterfunktionen: Auswertungen nach Kunde, Projekt, Benutzer, Tag oder Zeitrahmen. - Exportformate: CSV, Excel (XLSX), PDF. ### 3.8 Mehrbenutzerfähigkeit - Benutzerverwaltung: Jeder Benutzer hat einen eigenen Account mit Login-Daten. - Projektzuordnung: Benutzer werden einem oder mehreren Projekten zugeordnet und dürfen nur in diesen Projekten arbeiten. - Rollen und Rechte: Admin-Benutzer können alle Daten verwalten, während normale Benutzer nur auf ihre zugewiesenen Projekte zugreifen können. --- ## 4. Technische Umsetzung ### 4.1 Architektur - Frontend: Webanwendung (HTML, CSS, JavaScript) für alle gängigen Browser. - Backend: Python mit Flask als Web-Framework. - Datenbank: SQLite (lokal oder serverbasiert). ### 4.2 Sicherheit - Authentifizierung: Sichere Benutzeranmeldung mit verschlüsselten Passwörtern. - Autorisierung: Projektbasierte Zugriffskontrolle. - Datenvalidierung: Serverseitige Prüfung aller Eingaben. ### 4.3 Voraussetzungen - Server: Lokale Installation oder Cloud-Hosting (z. B. auf einem VPS). - Telefonie-Integration (optional): Falls später gewünscht, muss die Telefonanlage eine JavaScript-API oder SDK bereitstellen. - Import-Bibliotheken: Nutzung von Bibliotheken wie `pandas` (Python) für den Import von Excel/CSV-Dateien. --- ## 5. Datenmodell Die Anwendung basiert auf folgenden Kern-Tabellen: | Tabelle | Beschreibung | |---|---| | Kunden | Verwaltung der Kunden (Firmen oder Privatpersonen) mit allen relevanten Daten. | | Kontakte | Ansprechpartner der Kunden (Name, Position, Telefonnummer, E-Mail). Enthält einen Foreign-Key zur Kunden-ID, um die Zuordnung zu genau einem Kunden herzustellen. | | Projekte | Projekte, die einem Kunden zugeordnet sind. | | Benutzer | Benutzer der Anwendung mit Login-Daten und Rollen. | | Benutzer_Projekt | Zuordnung von Benutzern zu Projekten (n:m-Beziehung). | | Kontaktadressen | Kontakte, die im Rahmen eines Projekts angerufen werden (Firmen oder Privatpersonen). Enthält einen Foreign-Key zur Projekt-ID, um die Zuordnung zu genau einem Projekt herzustellen. | | Gesprächsnotizen | Dokumentation von Anrufen (Datum, Uhrzeit, Anrufer, Kontaktadresse, Notiz, Tags). Enthält einen Foreign-Key zur Kontaktadressen-ID. | | Tags | Benutzerdefinierte Tags zur Kategorisierung von Gesprächsnotizen. | | Gesprächsnotizen_Tags | Verknüpfungstabelle für die n:m-Beziehung zwischen Gesprächsnotizen und Tags. | --- ## 6. Benutzererlebnis (UX) ### 6.1 Oberflächen-Design - Intuitive Bedienung: Klare Struktur und einfache Navigation. - Responsive Design: Optimiert für Desktop und Tablet. ### 6.2 Workflow-Beispiel 1. **Import von Kontaktadressen:** - Benutzer lädt eine Excel- oder CSV-Datei hoch. - System zeigt eine Vorschau der Daten mit Zuordnung der Spalten zu den Feldern der Anwendung. - Benutzer bestätigt den Import oder korrigiert Fehler. - Kontaktadressen werden dem ausgewählten Projekt zugeordnet. 2. **Manueller Anruf (ausgehend):** - Benutzer wählt eine Kontaktadresse aus der Liste aus. - Benutzer erfasst manuell die Gesprächsnotiz (Datum, Uhrzeit, Notiz, Tags). 3. **Manueller Anruf (eingehend):** - Benutzer erfasst den eingehenden Anruf manuell und ordnet ihn einer Kontaktadresse zu. - Benutzer kann direkt eine Gesprächsnotiz anlegen. 4. **Auswertungen:** - Benutzer filtert Gesprächsnotizen nach Projekt, Tag oder Zeitrahmen. - Export der Daten als CSV/Excel/PDF. # Kundenanmerkungen zu Punkt 2, Export soll auch flexibel möglich sein. Kunden und Projetbezogene Dublettenprüfung fehlt noch. Ausserdem müssen wir die Möglichkeit haben, nach Kontakten zu suchen. Name, Ort, Tags usw. Momentan können wir das über die Startseite der alt-Anwendung filtern