No description
- Neue Funktion idsconnect_notify() für GlobalNotify-Benachrichtigungen mit Fallback auf dol_syslog falls Modul nicht installiert - Neue Funktion idsconnect_validateSupplierConfig() prüft Supplier- Konfiguration vor dem Launch auf Vollständigkeit - launch.php: Validierung vor Formular-Submit - Fehler (leeres Passwort): blockiert Launch, Redirect zur Konfiguration - Warnung (leerer Username): erlaubt Launch aber warnt User + Admin - Löst Problem: Klux "Weiter"-Button fehlte weil ids_username leer war, Login schlug still fehl ohne jede Fehlermeldung Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| admin | ||
| class | ||
| core/modules | ||
| css | ||
| img | ||
| langs | ||
| lib | ||
| sql | ||
| .gitignore | ||
| callback.php | ||
| cart_review.php | ||
| CHANGELOG.md | ||
| ChangeLog.md | ||
| COPYING | ||
| idsconnectindex.php | ||
| launch.php | ||
| log_detail.php | ||
| log_list.php | ||
| mockserver.php | ||
| README.md | ||
| supplier_card.php | ||
| supplier_list.php | ||
| tab_supplierorder.php | ||
| test_connection.php | ||
IDS Connect für Dolibarr ERP
Dolibarr-Modul für die IDS Connect Punchout-Schnittstelle zu Elektrogroßhändlern. Ermöglicht den direkten Wareneinkauf aus Dolibarr heraus über den Shop des Großhändlers.
Status
| Großhändler | WKE (empfangen) | WKS (senden) | Status |
|---|---|---|---|
| Sonepar | Funktioniert | Funktioniert | Live getestet |
| Kluxen | - | - | Shop-URL fehlt noch |
Funktionsübersicht
Implementiert und getestet
- WKE (Warenkorb empfangen): Shop öffnen → Artikel auswählen → Warenkorb kommt automatisch in Dolibarr an → Lieferantenbestellung erstellen
- WKS (Warenkorb senden): Lieferantenbestellung in Dolibarr anlegen → per Klick an Shop senden → Artikel sind vorausgefüllt → "Nur bestellen" im Shop
- Callback-System: NOLOGIN-Seite empfängt XML/OCI-Daten, zeigt Ergebnis direkt an
- PriceBasis-Handling: Automatische Umrechnung von Preiseinheiten (z.B. Preis/100 Stk → Stückpreis)
- Bestell-Review: Empfangene Artikel prüfen, Preise kontrollieren, Lieferantenbestellung mit einem Klick erstellen
- Tab auf Lieferantenbestellungen: Direkter Zugriff auf "Zum Shop" und "Warenkorb senden" pro Bestellung
- Mock-Server: Lokaler Test-Shop für Entwicklung ohne echte Großhändler-Anbindung
- OCI-Format: SAP Open Catalog Interface (
NEW_ITEM-*POST-Felder) wird ebenfalls erkannt - Transaktionslog: Alle IDS-Aktionen werden protokolliert mit XML, Status, Fehlermeldungen
Implementiert
- ADL (Artikel Deep-Link): Direkt zu einem Artikel im Shop springen - per Hook als Button in der Lieferantenpreis-Tabelle auf Produktkarten
- LI (Login-Info): Shop direkt öffnen (Button auf Dashboard)
- SV (Schnittstellenversion): IDS Connect Version des Shops abfragen (Button auf Admin-Seite)
Was noch fehlt
Kurzfristig (nächste Schritte)
- Kluxen-Anbindung: Shop-URL und Zugangsdaten von Kluxen erfragen und einrichten
- Bestellabgleich: Nach WKS prüfen ob Sonepar eine Bestellbestätigung zurücksendet (Auftragsbestätigungsnummer)
- Sonepar WKS-Verarbeitung klären: Wie schnell erscheint eine WKS-Bestellung in der Sonepar-Bestellverwaltung? Muss WKS separat freigeschaltet werden?
- Lieferantenbestellung ↔ Log-Verknüpfung: Bei WKS den Log-Eintrag automatisch mit der Dolibarr-Bestellung verknüpfen (
fk_commande) - Fehlende Produkt-Zuordnung: Empfangene Artikel (Lieferanten-Artikelnr) automatisch mit Dolibarr-Produkten matchen
Mittelfristig (sinnvolle Erweiterungen)
- Automatischer Wareneingang: Nach Lieferung den Bestellstatus in Dolibarr aktualisieren
- Preisvergleich: Bei WKE die empfangenen Preise mit den hinterlegten Lieferantenpreisen in Dolibarr vergleichen und Abweichungen anzeigen
- Mehrere Lieferanten gleichzeitig: Warenkorb aufteilen auf verschiedene Großhändler (z.B. Kluxen + Sonepar) basierend auf Verfügbarkeit/Preis
- Wiederkehrende Bestellungen: Standardwarenkörbe speichern und per Klick wiederholt bestellen
- Lieferstatus-Tracking: Wenn Großhändler Tracking-Infos per IDS/OCI zurücksenden
Langfristig (über IDS Connect hinaus)
- UGL-Schnittstelle (Sonepar): FTP-basierter Dokumentenaustausch für Angebote, Bestellungen, Lieferscheine, Rechnungen. Vollautomatischer Belegabgleich ohne Shop-Interaktion
- Open Masterdata (OMD): Stammdaten-Integration - Artikelkataloge, Preislisten, Verfügbarkeiten direkt in Dolibarr importieren
- ETIM-Klassifizierung: Artikel nach ETIM-Standard klassifizieren für bessere Produktsuche und -vergleich
- Automatische Rechnungserfassung: Eingangsrechnungen von Großhändlern per UGL/EDI empfangen und automatisch als Lieferantenrechnung in Dolibarr anlegen
- Datanorm-Import: Artikelstammdaten und Preise aus Datanorm-Dateien importieren (Datanorm 4/5)
Installation
Voraussetzungen
- Dolibarr ERP >= 16.0
- PHP >= 7.4 mit SimpleXML, DOM
- IDS Connect Zugangsdaten vom Großhändler
Einrichtung
- Modul-Verzeichnis nach
custom/idsconnectkopieren - In Dolibarr: Setup → Module → "IDS Connect" aktivieren
- IDS Connect → Einstellungen:
- Öffentliche URL setzen (die URL unter der Dolibarr von außen erreichbar ist, z.B.
https://erp.meinedomain.de) - Testmodus ist standardmäßig aktiv
- Öffentliche URL setzen (die URL unter der Dolibarr von außen erreichbar ist, z.B.
- IDS Connect → Großhändler → Neuen Großhändler anlegen:
- Shop-URL, Benutzername, Passwort, IDS-Version
- Mit einem Dolibarr-Lieferanten verknüpfen
Sonepar-Konfiguration
- URL:
https://www.sonepar.de/punchout/v1/ids/setup?OrganizationId=12 - IDS-Version: 2.0
- Kontakt: digitalsupport@sonepar.de, +49 211 44744 920
- Sonepar unterstützt: IDS, OCI, UGL
Architektur
WKE-Flow (Warenkorb empfangen)
Dolibarr → launch.php → HTML-Formular → Großhändler-Shop
↓
User wählt Artikel
↓
Shop sendet POST an callback.php
↓
callback.php zeigt Ergebnis
↓
cart_review.php → Lieferantenbestellung
WKS-Flow (Warenkorb senden)
Dolibarr → Lieferantenbestellung anlegen
↓
IDS Connect Tab → "Warenkorb senden"
↓
launch.php → XML mit Artikeln generieren → Shop
↓
Artikel im Shop vorausgefüllt → "Nur bestellen"
Sicherheit
- CSRF-Tokens auf allen Formularen
- Callback-Tokens: HMAC-SHA256, 2h gültig, einmalig verwendbar
- XXE-Schutz beim XML-Parsing
- Passwörter verschlüsselt via
dolEncrypt/dolDecrypt - Testmodus als Standard
- Live-Modus erfordert extra Bestätigung
- WKS optional mit PIN-Schutz
Dateien
| Datei | Zweck |
|---|---|
class/idsconnect.class.php |
Kern-Klasse: Formular-Builder, XML-Parser, XML-Generator |
class/idssupplier.class.php |
Großhändler-Konfiguration (URL, Login, Passwort) |
class/idslog.class.php |
Transaktionslog (CRUD, Status-Updates) |
class/actions_idsconnect.class.php |
Hook: ADL-Buttons auf Produkt-Lieferantenpreisen |
callback.php |
HOOKURL-Empfänger (NOLOGIN) |
launch.php |
Formular-Generator für Shop-Weiterleitung |
mockserver.php |
Test-Shop (NOLOGIN, nur Testmodus) |
cart_review.php |
Empfangenen Warenkorb prüfen, Bestellung erstellen |
tab_supplierorder.php |
IDS Connect Tab auf Lieferantenbestellungen |
log_list.php / log_detail.php |
Transaktionslog |
admin/setup.php |
Modul-Einstellungen |
Lizenz
GPLv3 oder höher. Siehe COPYING.