2.1 KiB
2.1 KiB
TASKS.md - Offene Entwicklungs-Aufgaben
Dieses Dokument dient als zentrale Quelle für klar definierte Entwicklungs-Tasks.
1. Task: Excel-Import für CRM-Bestandsdaten
Ziel: Importieren einer Excel-Liste mit SuperOffice-Bestandsdaten in die Company Explorer Datenbank.
Status: [TODO]
Dateien:
- Neu erstellen:
company-explorer/backend/scripts/ingest_superoffice_excel.py
Anforderungen & Logik:
- Abhängigkeiten: Das Skript muss
pandasundopenpyxlverwenden, um die Excel-Datei zu lesen. - Dateipfad: Das Skript soll einen Dateipfad als Kommandozeilen-Argument akzeptieren (z.B.
python ... ingest.py /pfad/zur/datei.xlsx). - Datenbank-Verbindung: Das Skript muss eine Verbindung zur
companies_v3_fixed_2.dbherstellen (die SQLAlchemy-Modelle ausbackend/database.pynutzen). - Spalten-Mapping: Die Excel-Datei wird folgende Spalten haben (oder ähnlich):
Account ID->crm_idName->crm_nameWebsite->crm_websiteStraße,PLZ,Stadt->crm_address(als formatierter String)Ust ID->crm_vatBranche->industry_crm
- Import-Logik (pro Zeile):
- Prüfe auf Dubletten: Suche in der
companiesTabelle, ob eine Firma mit der gleichenwebsite(falls vorhanden) odernameundcitybereits existiert. - Fall 1: Firma existiert (Match):
- Aktualisiere den bestehenden Datensatz: Trage die
crm_id,crm_name,crm_addressetc. in diecrm_*Felder ein. - Setze den
statusaufTO_ENRICH(falls erNEWwar).
- Aktualisiere den bestehenden Datensatz: Trage die
- Fall 2: Firma ist neu:
- Lege einen neuen Datensatz in der
companiesTabelle an. - Befülle die
crm_*Felder mit den Daten aus der Excel-Zeile. - Setze den
nameundwebsite(die "Golden Record"-Felder) initial ebenfalls auf die CRM-Werte. - Setze den
statusaufTO_ENRICH.
- Lege einen neuen Datensatz in der
- Prüfe auf Dubletten: Suche in der
Akzeptanzkriterien:
- Nach Ausführung des Skripts sind die Firmen aus der Excel-Datei in der
companies_v3_fixed_2.dbsichtbar. - Bestehende Firmen werden mit CRM-Daten angereichert, neue Firmen werden angelegt.