- 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>
3.1 KiB
Executable file
3.1 KiB
Executable file
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_oncefüradmin.lib.phphinzugefü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