mirror of
https://github.com/itsdave-de/msp.git
synced 2026-09-28 04:02:42 -03:00
687a1faac0ac912663f5a8faacc883931644e9c1
Implementiert das eigentliche Import-Framework im Paket msp.importers/: - base.py: abstrakte BaseSupplierParser-Klasse + CanonicalRow-Dataclass (lieferantenneutrale Repräsentation einer Rechnungsposition) sowie Helfer für deutsche Dezimal-/Datums-Parser und Enum-Normalisierung (Monthly/Annual/Triennial, P1M/P1Y/P3Y, New/Renewal/Billing/Upgrade/ Cancel). - registry.py: Parser-Registry, über parser_key aufgelöst. Neue Lieferanten bringen einen eigenen Parser mit und registrieren sich per @register-Dekorator. - adn_monthly_csv.py: Parser für ADNs monatliche Rechnungs-CSV. Extrahiert alle relevanten Felder strukturiert, inklusive SUBSCRIPTION_ID_EXTERNAL, BILLINGPLAN, VERTRAGSDAUER, WARTUNGSBEGINN/ -ENDE und BUCHUNGSTYP — Daten, die der alte adnconnect-Importer verworfen oder nur in HTML-Descriptions vergraben hatte. - resolution.py: Lookups für Customer + Item und die Output-Mode- Selektion (Run-Override → Customer.billing_mode → Profil-Default). - subscriptions.py: Upsert-Logik für Supply Subscription + Event, inklusive Deduplizierung per (subscription_external_id, period). - builder.py: DocumentBuilder, der sowohl Sales Invoices als auch Delivery Notes aus kanonischen Zeilen erzeugt. Rechnungspreise werden per unit_price × qty gesetzt (mit Rabatt in description) — korrekt gemäß ADN-POSITIONSPREIS statt adnconnects fehlerhafter Listenpreis/ discount_percentage-Kombination. - run_orchestrator.py: verdrahtet das Ganze und wird aus dem Supplier-Import-Run-Controller über die Whitelisted-Methode do_import aufgerufen.
MSP
App for Managed Service Providers
License
GPLv3# msp
Languages
Python
65.7%
JavaScript
30.5%
PowerShell
3.8%