Datanorm-Preisvergleich korrigiert: - Datanorm-Preise enthalten nur Materialpreis ohne Kupferzuschlag - Kupferzuschlag wird aus Produkt-Extrafields geladen und addiert - Vergleich: Datanorm+Kupfer vs. aktueller Dolibarr-Lieferantenpreis - Anzeige zeigt Aufschlüsselung: "Base-Preis + Kupfer = Gesamt" Kabel-Filter hinzugefügt: - Checkbox "Kabel ausblenden" in Datanorm-Vorschau - Filtert Kabel-Produkte basierend auf Warengruppe - Erleichtert Fokus auf Standard-Artikel Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
5.3 KiB
Executable file
5.3 KiB
Executable file
Changelog
Alle wesentlichen Änderungen an diesem Projekt werden in dieser Datei dokumentiert.
[4.3] - 2026-03-03
Behoben
- Datanorm-Preisvergleich: Korrekte Preisberechnung mit Kupferzuschlag
- Problem: Datanorm-Preise enthalten nur Materialpreis, kein Kupferzuschlag
- Lösung: Kupferzuschlag aus Produkt-Extrafields wird zu Datanorm-Preis addiert
- Vergleich jetzt: Datanorm+Kupfer vs. aktueller Dolibarr-Preis
- Zeigt Aufschlüsselung: "Datanorm-Preis + Kupferzuschlag = Gesamtpreis"
Hinzugefügt
- Kabel-Filter: Checkbox "Kabel ausblenden" in Datanorm-Vorschau
- Filtert Kabel-Produkte aus der Anzeige (basierend auf Warengruppe)
- Erleichtert Fokus auf Standard-Artikel
[4.2] - 2026-03-02
Behoben
- PDF-Anhänge: ZUGFeRD-PDFs werden jetzt korrekt an Lieferantenrechnungen angehängt
- Problem: PDF wurde nur ins Dateisystem kopiert, nicht in ECM-Datenbank registriert
- Lösung:
EcmFiles-Eintrag wird erstellt für korrekte Verknüpfung mit Rechnung - Wichtig: Bei Rechnungsvalidierung wird PDF automatisch mitverschoben
Hinzugefügt
- Bezeichnung in Rechnungsliste: Teuerster Artikel wird als Bezeichnung der Lieferantenrechnung gesetzt
- Erleichtert schnelle Identifikation in der Rechnungsliste
- Spalte "Bezeichnung" muss in Liste aktiviert sein
[4.0] - 2026-03-01
Behoben
- Verschachtelte HTML-Forms: "Ausgewählte Preise hinzufügen" funktionierte nicht, weil Browser verschachtelte
<form>-Elemente nicht unterstützen. Lösung: HTML5form-Attribut - Stückpreis-Anzeige: Einkaufspreise zeigen jetzt den Stückpreis statt Gesamtpreis (z.B. 0,16 statt 16,32 bei 100 Stk.)
- Preisvergleich: Fehlende Lieferantenpreise werden korrekt auf Stückpreis-Basis verglichen
- DATPREIS-Kommentare: Feld korrekt als Rabattkennzeichen dokumentiert (war fälschlich als PE-Code beschrieben)
Verbessert
- Feedback bei Preishinzufügen: Zeigt Erfolgs- und Fehlermeldungen nach dem Hinzufügen von Lieferantenpreisen
- Mengenkontext: Bei Mengenstaffel wird zusätzlich der Gesamtpreis mit Stückzahl angezeigt (z.B. "0,16 (16,32/100Stk.)")
Hinweis
uk_product_barcodeUNIQUE KEY aufproduct_fournisseur_pricemuss entfernt werden falls vorhanden (mehrere Lieferanten dürfen gleichen EAN haben)
[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