Die Datei extensions.py dient nun als alleinige Quelle für die Extraktionslogik.
STATUS: ZENTRALISIERT & AKTIV
Die Datei workspace_features.py wurde bereinigt.
_internal_extract_invoice_details direkt aus extensions.py.Prüfung, ob alle Module das Profil aus Redis laden und korrekt an die zentrale Funktion übergeben.
| Modul | Profil Load? | Regex/Anker? | Math Guard? | Status |
|---|---|---|---|---|
Simulator (parsing_simulator.py) |
✔ | ✔ | ✔ | PERFEKT |
IMAP (imap_features.py) |
✔ | ✔ | ✔ | PERFEKT |
Google (google_features.py) |
✔ | ✔ | ✔ | PERFEKT |
Microsoft (microsoft_features.py) |
✔ | ✔ | ✔ | PERFEKT |
WhatsApp (whatsapp.py) |
✔ | ✔ | ✔ | PERFEKT |
FTP (ftp_features.py) |
✔ | ✔ | ✔ | PERFEKT |
Workspace (workspace_features.py) |
✔ | ✔ | ✔ | PERFEKT |
shopwaresql.py)Shopware nutzt kein OCR, da Daten direkt aus der SQL-DB kommen. Regex/Anker greifen hier logischerweise nicht.
INFO Lädt Profil korrekt für Kategorie-Mapping. KORREKT
parsing_profile.py)Die Konfiguration ist synchron mit der Logik. ANCHOR_KEYS sind zentral definiert.
SYNCHRON
Es gibt keine "versteckten" Parsing-Logiken mehr. Egal welcher Kanal genutzt wird:
(?!(?:nicht))...) und die Ankerliste.extensions.py.extensions.py entfernt den alten Footer, kombiniert das Regex, führt die OCR-Analyse durch und prüft die Mathematik.Das System ist valide und sicher.