Kundensync
Überblick
Die Kundensynchronisation ermöglicht den Abgleich von Kundendaten zwischen Shopware und WinLine. Zwei Synchronisationsrichtungen sind möglich:
- Shop → WinLine: Neuregistrierungen aus dem Shop werden als Personenkonten oder Kontakte an die WinLine übergeben.
- WinLine → Shop: Kontakte/Ansprechpartner aus der WinLine werden als Kundenkonto im Shop angelegt (derzeit nur für Shopware 5 verfügbar).
Die Kundennummernvergabe kann wahlweise durch Shopware oder durch die WinLine erfolgen.
Typischer Ablauf
Neukunde registriert sich im Shop:
- Kunde registriert sich im Shopware-Shop (ohne Kundennummer)
- Sync syncFilteredCustomers oder syncCustomers starten
- Die Schnittstelle exportiert die Kundendaten als XML-Datei
- XML-Datei über den WinLine-Import einlesen und Personenkonto anlegen
- Sync syncCustomersWLNumber starten – die vergebene Kundennummer wird in den Shop zurückgeschrieben
- Bei zukünftigen Bestellungen wird die Kundennummer automatisch mitgeliefert
Sync-Befehle
- syncCustomers: Kundendaten synchronisieren (Richtung per
-toParameter steuerbar) - syncFilteredCustomers: Nur Kunden mit Shopbestellungen synchronisieren (Shop → WinLine)
- syncCustomersWLNumber: Kundennummern aus der WinLine in den Shop zurückschreiben
- syncCustomersAndOrders: Kunden und Bestellungen in einem Durchlauf synchronisieren
Einstellungen Config
Um die Kundensynchronisation zu ermöglichen müssen nachfolgende Eigenschaftsfelder und Zusatzfelder in Kontakten und Personenkonten angelegt werden.
config.ini
[WL]
; ID Eigenschaftsfeld um Personenkonten als Shopkonto zu markieren
webkonto = <Nummer Eigenschaftsfeld>
; ID Eigenschaftsfeld um Kontaktkonten als Shopkonto zu markieren
webkonto_kontakt = <Nummer Eigenschaftsfeld>
; Zusatzfeld für die ShopwareID der Kontakte
swid_kontakt = <Nummer Zusatzfeld>
; Zusatzfeld für die ShopwareID der Personenkonten
swid_pkonto = <Nummer Zusatzfeld>
; Optional: Default Benutzer-Password für Anlage (Sektion: [SHOPPROPERTY])
defaultpw = ************************************
Weitere relevante Konfigurationsoptionen:
config.ini
[WL]
; Kundenimport über EXIM
customers_via_exim = True
; EXIM-Tabelle für Kunden
exim_customers = EXIM_KONTAKT
; Feld für Shopware-Kunden-ID in WinLine
customer_shopware_id_field = C002_Kontonummer
[SHOPFIELDS]
; WebService-Vorlage für Kunden
wlvorlagekunden = Shopware6Kunden
; WebService-Vorlage für Kontakte
wlvorlagekontakt = Shopware6Kontakt
Einstellungen Interface (Button):
Management.ini
syncFilteredCustomers = Kunden SW-WL
Export/Import
Der neuregistrierte Kunde wird in Shopware ohne Kundennummer angelegt.
Screenshot aus einer älteren Shopware-Version

Anschließend übergibt die Schnittstelle die Kundendaten des neuregistrierten Kunden als XML an einen lokalen Ordner. config.ini
; Verzeichnis in welches die Importdaten für den Kundenimport abgelegt werden
xmlpath_customers = C:\temp\xml\import\Webshop_Kunden
Import der Kundendaten über den WinLine XML-Import.

Drei Möglichkeiten: 1. Neuanlage Kundenkonto - Vergabe einer Kundennummer 2. Zuordnung Personenkonto - Kontaktdaten werden mit Shopdaten überschrieben 3. Zuordnung Personenkonto als Ansprechpartner - weitere XML-Vorlage (Hauptkontozuordnung über “Fibu Kontonummer”)
Die XML-Vorlagen müssen entsprechend in der WinLine angelegt werden. (Ein Import der Vorlagen ist nicht möglich.)
KdNr.-Vergabe in Shopware
Darüber hinaus gibt es auch die Möglichkeit die Kundennummern in Shopware direkt vergeben zu lassen und diese anschließend so in die WinLine zu importieren. Dazu ist es lediglich erforderlich den in Shopware gewählten Nummernkreis in der WinLine zu reservieren, damit es zu keinen Überschneidungen kommt. Eine Existenz-/Dublettenprüfung ist nicht vorgesehen.
WL-KundenNr. -> Shopware
Nach der Personenkontenanlage in der WinLine können die vergebenen Kundennummern nach Shopware zurückgeschrieben werden. (syncCustomersWLNumber)

Für aktuelle und zukünftige Bestellungen werden diese Kundennummern bei einer Bestellung übergeben.
WL-Kontakt -> Shopware
Nicht für Shopware 6 verfügbar
Diese Funktion ist derzeit nur für Shopware 5 implementiert. Für Shopware 6 wird beim Aufruf ein NotImplementedError ausgelöst. Die Implementierung für SW6 ist in Planung.
WinLine Kontakte/Ansprechpartner können als Kundenkonto an den Shop übergeben werden. In diesem Fall können auch mehrere Accounts unter einer KdNr. laufen, sodass unterschiedliche Ansprechpartner eines Unternehmens selbstständig Bestellungen im Shop vornehmen können. Die Bestellungen laufen anschließend alle auf ein Personenkonto.
Markierung über Eigenschaftsfeld
config.ini
webkonto_kontakt = <Nummer Eigenschaftsfeld>

Kunden müssen anschließend über die Anlage ihres Kontos informiert werden und zur Vergabe eines Passworts aufgefordert werden (manueller/persönlicher Prozess). Änderungen der Kontaktdaten (Adressdaten) kommen anschließend als regelmäßige Aufgabe aus der WinLine. Um den Benutzer in Shopware identifizieren zu können wird die Shopware-ID in den Kontakt geschrieben.
config.ini
swid_kontakt = <Nummer Zusatzfeld>