Files
Brancheneinstufung2/MIGRATION_PLAN.md

48 lines
2.1 KiB
Markdown

# Migrations-Plan: Legacy GSheets -> Company Explorer (Robotics Edition v0.8.5)
**Kontext:** Strategische Neuausrichtung der Lead-Analyse für RoboPlanet.
**Zentrale Philosophie:** Trennung von CRM-Historie ("Was wir wissen") und KI-Recherche ("Was aktuell wahr ist").
## 14. Detaillierte Logik der neuen Datenfelder (v2.0)
... (Kapitel 14 bleibt unverändert) ...
## 15. Offene Arbeitspakete (Bauleitung)
### Task 1: UI-Implementierung "Data Match & Strategy"
(In Arbeit / Teilweise erledigt durch Gemini CLI)
### Task 2: Intelligenter CRM-Importer (Bestandsdaten)
**Ziel:** Importieren der `demo_100.xlsx` in die SQLite-Datenbank unter Berücksichtigung von Dubletten und Datenqualität.
**Dateien:**
* `company-explorer/backend/scripts/ingest_superoffice_excel.py`
**Anforderungen & Logik:**
1. **Dateihandling:**
* Nutze `openpyxl` (oder `pandas`, falls im Container installiert).
* **WICHTIG:** Die Spalte `PLZ` muss zwingend als **String** eingelesen werden, um führende Nullen (z.B. 01234) zu erhalten.
* Normalisiere die Spalte `Website`: Entferne `https://`, `http://`, `www.` und abschließende Slashes.
2. **Matching-Logik (Deduplizierung):**
* Suche in Tabelle `companies` nach:
* a) `crm_id` (falls in DB bereits vorhanden).
* b) `crm_vat` (Ust-ID Match).
* c) Normalisierte Domain (Website).
* d) Fuzzy Name + Stadt (Score < 1.0).
3. **Update-Prozess:**
* **Match gefunden:** Befülle nur die `crm_*` Spalten (`crm_name`, `crm_address`, `crm_website`). Ändere NICHT die Felder `name` oder `website`, falls diese schon durch Recherche befüllt wurden.
* **Kein Match:** Lege neuen Record an. Kopiere CRM-Werte initial in `crm_*` UND in die Golden-Record Felder (`name`, `website`).
* **Status:** Setze `status` auf `TO_ENRICH`.
4. **Länder-Fokus:**
* Gehe davon aus, dass alle Leads für den deutschen Markt sind (`country="DE"`).
**Akzeptanzkriterien:**
* Skript läuft ohne Fehler durch.
* In der SQLite-DB sind die `crm_` Felder befüllt.
* Führende Nullen bei PLZ bleiben erhalten.