importzugferd/ChangeLog.md
data 82d4e8a323 Version 3.4: Fehlende Lieferantenpreise und Bugfixes
- EAN-basierte Suche fuer Cross-Katalog Lieferantenpreise
- Unique-Key auf Barcode entfernt (mehrere Lieferanten pro EAN)
- Variable $extrafields Namenskollision mit Dolibarr-Core behoben
- Duplikate bei gleichen Produkten auf mehreren Rechnungszeilen vermieden
- select2-Suche auf allen Zeilen (eindeutige HTML-IDs)
- Konsolidierter Bereich fuer fehlende Lieferantenpreise
- Refresh-Button und Alle/Keine auswaehlen

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 07:01:13 +01:00

3.4 KiB
Executable file

CHANGELOG MODULE IMPORTZUGFERD FOR DOLIBARR ERP CRM

3.4

Bugfixes

  • Fehlende Lieferantenpreise: EAN-basierte Suche nutzt jetzt Barcode aus Lieferantenpreis statt Artikelnummer
  • Fehlende Lieferantenpreise: Unique-Key auf Barcode entfernt (mehrere Lieferanten koennen gleichen EAN haben)
  • Fehlende Lieferantenpreise: Variable $extrafields Namenskollision mit Dolibarr-Core behoben
  • Fehlende Lieferantenpreise: Duplikate bei gleichen Produkten auf mehreren Rechnungszeilen vermieden
  • Produktauswahl: select2-Suche funktioniert jetzt auf allen Zeilen (eindeutige HTML-IDs)

Verbesserungen

  • Fehlende Lieferantenpreise in konsolidiertem Bereich unterhalb der Produkttabelle
  • Refresh-Button fuer Produktlisten nach Anlage neuer Produkte
  • Alle auswaehlen / Keine auswaehlen fuer fehlende Lieferantenpreise

3.3

Sicherheit und Code-Qualitaet

  • XSS Fix: $_SERVER['PHP_SELF'] in JavaScript escaped (dol_escape_js)
  • XSS Fix: EAN-Ausgabe in HTML escaped (dol_escape_htmltag)
  • Error-Handling: rename()/copy() Dateioperationen mit Fehlerbehandlung
  • Race Condition: DB-Transaktion bei Force Reimport hinzugefuegt
  • Error-Handling: db->query() Rueckgabewerte bei Extrafields-Insert geprueft
  • Berechtigungspruefung: Index-Seite prueft jetzt import:read Recht
  • Berechtigungspruefung: Loeschen prueft jetzt import:delete Recht
  • Helper-Funktionen fuer Lieferantenpreis-Erstellung (DRY)

3.2

Neue Funktionen

  • Cross-Katalog-Suche: Artikel werden ueber EAN/Hersteller-Artikelnummer in allen Lieferanten-Katalogen gefunden
  • Multi-Lieferanten-Anzeige: Bei Produktzuordnung werden alle verfuegbaren Lieferanten mit Preisen angezeigt
  • Fehlende Lieferantenpreise: Bei zugeordneten Produkten werden fehlende EK-Preise anderer Lieferanten angeboten
  • Preisvergleich mit Prozentangabe (guenstiger/teurer) fuer Lieferanten-Alternativen

Bugfixes

  • Datanorm Import: Kluxen-Format (Preise im A-Record in Cent) wird jetzt korrekt verarbeitet
  • Datanorm Import: Preise aus A-Record werden von Cent in Euro umgerechnet (geteilt durch 100)

Hinweise

  • Kluxen-Katalog enthaelt nur Listenpreise (UVP), keine Netto-Einkaufspreise
  • Cross-Katalog-Suche erfordert aktivierte Einstellung "In allen Lieferanten-Katalogen suchen"

2.1

Bugfixes

  • Rechnungsimport: Preise wurden falsch als Brutto (TTC) statt Netto (HT) behandelt - korrigierte Parameterreihenfolge in addline()
  • Datanorm Massenaktualisierung: Lieferantenauswahl ging nach Aktionen verloren - Redirects hinzugefuegt
  • Datanorm Massenaktualisierung: "Alle Aenderungen uebernehmen" Button war nicht sichtbar ohne Suchergebnisse
  • Datanorm Massenaktualisierung: Filter-Auswahl (Preis/Beschreibung/Bezeichnung) wurde bei "Alle hinzufuegen" ignoriert
  • ProductFournisseur::update_buyprice erwartet Societe-Objekt, nicht Integer-ID

Verbesserungen

  • Bestaetungsdialog fuer Massenaktionen verwendet jetzt Dolibarr jQuery UI Dialog statt JavaScript confirm()
  • Manuelles Metallzuschlag-Eingabefeld entfernt (nicht mehr benoetigt - Kupferzuschlag wird aus ZUGFeRD XML extrahiert)
  • Ausstehende Aenderungen werden immer angezeigt wenn vorhanden, unabhaengig von Suchergebnissen

2.0

  • Datanorm 4.0/5.0 Katalog-Import
  • Kupferzuschlag-Extraktion aus ZUGFeRD XML (AllowanceCharge)
  • Automatischer Preisvergleich zwischen Datanorm und aktuellen Einkaufspreisen
  • Massenaktualisierung von Produktpreisen und Beschreibungen
  • Aenderungsprotokoll fuer Preisanpassungen

1.0

Initial version