# 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, nicht getestet - **ADL (Artikel Deep-Link)**: Direkt zu einem Artikel im Shop springen - **LI (Login-Info)**: Login-Informationen abfragen - **SV (Schnittstellenversion)**: IDS Connect Version des Shops abfragen ## 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 1. Modul-Verzeichnis nach `custom/idsconnect` kopieren 2. In Dolibarr: Setup → Module → "IDS Connect" aktivieren 3. 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 4. 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) | | `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.