importzugferd/CHANGELOG.md
data 745fc68fc9 feat: Kabel-Preislogik für verschiedene Lieferanten-Formate (v3.8)
- Neue zentrale Funktion calculateCablePricing() für einheitliche Preislogik
- Unterschiedliche Lieferanten-Formate: Sonepar (price_unit=1, Ring im Namen) vs Kluxen/Witte (price_unit=100)
- Ringgröße-Erkennung: Ri100, Tr500, Fol.25m, "Ring 100m", "Trommel 500m"
- Cross-Catalog-Suche nur noch über EAN (verhindert Fehlzuordnungen)
- EAN-Auto-Update aus ZUGFeRD mit automatischer Barcode-Typ-Erkennung (EAN8/13/UPC-A)
- Neues Extrafield "produktpreis" für Materialpreis ohne Kupferzuschlag
- Kupfergehalt-Berechnung: Aderanzahl × Querschnitt × 8.9
- Division durch Null abgesichert
- Besseres Error-Handling für Extrafields

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-25 13:43:26 +01:00

3.1 KiB
Executable file
Raw Blame History

Changelog

Alle wesentlichen Änderungen an diesem Projekt werden in dieser Datei dokumentiert.

[3.8] - 2026-02-25

Hinzugefügt

  • Kabel-Preisberechnung: Zentrale Funktion calculateCablePricing() für einheitliche Preislogik
  • Kupfergehalt-Berechnung: Automatische Berechnung aus Aderanzahl × Querschnitt × 8.9
  • Ringgröße-Erkennung: Unterstützt Ri100, Tr500, Fol.25m, "Ring 100m", "Trommel 500m"
  • Extrafield "produktpreis": Speichert reinen Materialpreis ohne Kupferzuschlag (nur Kabel)
  • EAN-Auto-Update: Barcodes aus ZUGFeRD-Rechnungen werden automatisch in Lieferantenpreise übernommen

Verbessert

  • Lieferanten-Formate: Korrekte Unterscheidung zwischen Sonepar (price_unit=1, Ring im Namen) und Kluxen/Witte (price_unit=100)
  • Cross-Catalog-Suche: Nur noch über EAN, nicht mehr über Artikelnummern (verhindert Fehlzuordnungen)
  • EAN-Barcode-Typ: Automatische Erkennung (EAN8, EAN13, UPC-A) statt hardcoded EAN13
  • Error-Handling: Besseres Logging bei Extrafield-Fehlern

Behoben

  • Division durch Null bei Preisberechnung abgesichert
  • Mindestbestellmenge und Verpackungseinheit werden von existierenden Lieferantenpreisen übernommen

[3.7] - 2026-02-23

Hinzugefügt

  • GlobalNotify Integration: Benachrichtigungen über das zentrale GlobalNotify-Modul
    • Import-Fehler: Warnung bei fehlgeschlagenen Importen
    • Rechnungen zur Prüfung: Aktion wenn neue Rechnungen warten
    • IMAP-Fehler: Warnung wenn E-Mail Postfach nicht erreichbar
    • Exception/Fatal: Sofortige Benachrichtigung bei Abstürzen
  • Helper-Funktion: notify() für sichere GlobalNotify-Nutzung mit Fallback

Hinweis

GlobalNotify ist optional. Ohne das Modul werden Benachrichtigungen ins Dolibarr-Log geschrieben.

[3.6] - 2026-02-23

Behoben

  • Cron-Job Fix: Fehlendes require_once für admin.lib.php hinzugefügt - verhinderte das Speichern des letzten Laufzeitpunkts
  • Cron-Job lief in Endlosschleife weil dolibarr_set_const() nicht gefunden wurde

Hinzugefügt

  • Dediziertes Cron-Logging: Separate Log-Datei unter /documents/importzugferd/logs/cron_importzugferd.log
  • Shutdown Handler: Fängt fatale PHP-Fehler ab und protokolliert sie
  • Detailliertes Logging: Zeigt jeden Schritt des Import-Prozesses (Ordner-Zugriff, PDF-Scan, IMAP-Status)

Verbessert

  • Robustere Fehlerbehandlung mit try/catch für Exceptions und Throwables
  • IMAP-Import wird nur ausgeführt wenn tatsächlich konfiguriert

[3.5] - 2026-02-15

Hinzugefügt

  • Automatischer Cron-Import aus Watch-Folder
  • IMAP-Mailbox-Unterstützung für E-Mail-Rechnungen
  • Konfigurierbare Import-Frequenz (stündlich, täglich, wöchentlich)
  • Archiv- und Fehler-Ordner für verarbeitete Dateien

[3.0] - 2026-02-01

Hinzugefügt

  • ZUGFeRD/Factur-X PDF-Parsing
  • Automatische Lieferanten-Erkennung
  • Rechnungsvorschau vor Import
  • Datanorm-Integration für Artikelpreise

[2.0] - 2026-01-15

Hinzugefügt

  • Basis-Import von ZUGFeRD-Rechnungen
  • Manuelle Datei-Auswahl
  • Integration in Lieferantenrechnungen

[1.0] - 2026-01-01

Erste Version

  • Grundlegende ZUGFeRD-Erkennung
  • XML-Extraktion aus PDF