mirror of
https://github.com/itsdave-de/msp.git
synced 2026-09-28 04:02:42 -03:00
d288220d4024850fc310faa70fe2b613bf32c54e
Validierung der Hornet-Pipeline gegen drei historische Monate
(10.2025 / 11.2025 / 02.2026, je 16 Sales Invoices in der Test-DB).
Pro Customer und in Summe identisch zu den vom Legacy-adnconnect-
Modul erzeugten Belegen (z. B. Südsee-Camp 634,50 €, Saxlund 234 €,
KFS Fensterbau 162 €, Total 1.836,36 €).
Notwendige Korrekturen unterwegs:
- Hornet-Parser: ENDKUNDE_REFERENCE ist in den realen ADN-Exporten
praktisch immer leer; die Mail-Domain steht in ENDKUNDE. Legacy-
Verhalten (adnconnect.adn_hornet_import) gespiegelt: bei leerem
Reference-Feld auf ENDKUNDE als Domain zurückfallen, sofern es wie
eine Domain aussieht.
- Sniff inhaltsbasiert: ADN exportiert für Microsoft und Hornet
dieselbe Spaltenstruktur (inkl. BILLINGPLAN/MSERP/VERTRAGSDAUER) —
rein kolumnenbasierte Discrimination versagt. Beide Handler
inspizieren jetzt die ersten Datenzeilen: Hornet gewinnt, wenn die
MS-Spalten leer sind, MS gewinnt, wenn sie Werte tragen. Mit echten
CSVs verifiziert (Hornet 1.00/MS 0.55 vs. MS 1.00/Hornet 0.33).
- Title-Template kennt jetzt {invoice_month} (CSV-DATUM, MM.YYYY) —
ADN stellt für Hornet stets im Folgemonat in Rechnung; Legacy nutzt
den Rechnungsmonat im Title, nicht die Wartungsperiode. Hornet-
Profil-Default angepasst.
- DocumentBuilder annotiert erfolgreiche Outcomes mit (target_doctype,
target_name, resolved_customer). Der Run-Orchestrator-Persist
verlinkt Supplier Import Lines damit auch dann zurück, wenn keine
Supply-Subscription-Events erzeugt wurden (Hornet ohne Vertrag-
Spalte). Behebt 'customer=null'-Anzeige im Wizard-Step-3 und die
leere Dokumenten-Tabelle.
- run_summary / run_documents zeigen jetzt das Verkaufs-Total der
erzeugten Sales-Invoice/Delivery-Note (vorher: ADN-Einkaufspreis aus
Supplier Import Line.amount, was bei Hornet ≠ Verkaufspreis ist).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
MSP
App for Managed Service Providers
License
GPLv3# msp
Languages
Python
65.7%
JavaScript
30.5%
PowerShell
3.8%