- Menü unter Einkauf > Lieferantenbestellungen statt eigenes Top-Menü - ADL-Buttons auf Produkt-Lieferantenpreisen per Hook (pricesuppliercard) - Admin-Seite: Großhändler-Schnellübersicht mit Version-Check - Dashboard: Shop-öffnen-Button (LI-Action) - Neue Datei: class/actions_idsconnect.class.php Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
136 lines
6.7 KiB
Markdown
Executable file
136 lines
6.7 KiB
Markdown
Executable file
# 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
|
|
|
|
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) |
|
|
| `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.
|