dolibarr.idsconnect/README.md
data 5f5a389809 IDS Connect v2.2 - Menü-Integration, ADL-Hooks, Admin-Erweiterung
- 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>
2026-02-19 17:45:15 +01:00

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.