Mit dieser Schnittstelle kannst du xentral mit Magento 2 verbinden, um Bestellungen von dort nach xentral zu importieren und die im Shop verkauften Artikel in xentral zu verwalten. Die Anbindung geschieht über eine API-Schnittstelle (Shopimporter). Die Erstellung und der Versand von Lieferscheinen und Rechnungen wird über xentral abgewickelt, ebenso wie das Retourenmanagement. Aktualisierte Auftragsstatus, die Sendungsverfolgungsnummern versandter Lieferungen und Lagerzahlen der Artikel meldet xentral automatisch per Prozessstarter an den Shop zurück.
Besonders relevant ist dieses Modul für alle, die Magento 2 nutzen oder nutzen möchten.
-
Aufträge aus Magento 2 abholen
-
Auftragsstatus bei Versand umstellen
-
Artikelfreifelder werden zu Custom Attributes übertragen
-
Übertragung der Marketingsperre
-
Benutzer erstellen:
In Magento musst du zunächst einen neuen Benutzer unter System → All Users → Add New User anlegen.
-
Accountinformationen ausfüllen:
-
Alle Daten ausfüllen
-
Für xentral werden die Felder "User Name" und "New Password" benötigt
-
Unten gibst du das Passwort des eigenen Benutzers ein und speicherst oben die Änderungen mit "Save User"
-
-
Benutzer Rolle prüfen:
Unter "User Role" sollte der Benutzer als Administrator gekennzeichnet sein.
-
Schnittstelle erstellen:
Unter Administration → Shop Schnittstelle → Übersicht → NEU kannst du nach Magento 2 suchen:
-
Magento 2 Daten eingeben:
Du musst einen Shop-Namen vergeben und fürs Erste die Einstellungen wie im Screenshot einstellen. Danach musst du die Magento Daten in die Felder eintragen:
-
Verbindung prüfen:
Am Schluss prüfst du mit einem Klick auf Verbindung prüfen, ob die Anbindung geklappt hat:
Sollte es zu einem Fehler kommen musst du prüfen, ob du die Zugangsdaten aus Magento korrekt in xentral hinterlegt hast.
Wenn du die Einstellungen der Magento 2 Schnittstelle öffnest, landest du zunächst im Tab Details → Schnittstelle.
Einstellungen:
-
Bezeichnung → Name frei wählbar für den Shop (wird z.B. im Artikel und im Import-Menü angezeigt)
-
Aktiv → Haken setzen, damit die Schnittstelle aktiv ist. Nicht mehr benötigte Schnittstellen kannst du auf inaktiv setzen
-
Projekt → Verknüpfung des Shops auf ein Projekt. Im Projekt kannst du die Logistikeinstellungen vornehmen
-
Abholmodus → Bei Magento 2 kannst du hier ab einem bestimmten Datum abholen
-
Import-Modus → Legt fest, ob die Aufträge aus dem Shop manuell (per Knopfdruck) oder automatisch importiert werden sollen
-
Demo (zum Testen) → Der Auftragsstatus im Shop nicht umgestellt, keine Artikel oder Lagerzahlen übertragen
-
Manuell (mit Importzentrale) → Die Aufträge werden erst abgeholt, wenn der Button Aufträge abholen geklickt wird
-
Automatisch (per Prozessstarter) → Die Aufträge werden regelmäßig automatisch vom Shop abgeholt. Hierfür wird der Prozessstarter Shopimporter benötigt
-
-
Nur 1 Auftrag pro Anfrage → Es wird nur 1 Auftrag pro Anfrage vom Shop übertragen
-
Aufträge in Zwischentabelle → Beim Abholen der Aufträge werden die Aufträge nicht direkt angelegt, sondern erstmal zum Durchschauen in einer Zwischentabelle gespeichert. Hier kannst du entscheiden, welche Aufträge angelegt und welche erst später importiert werden sollen
-
Anzahl abholen begrenzen → Möglichkeit, um eingehende Aufträge auf einmal zu begrenzen Steht nichts (0) drin gilt die Default-Begrenzung von 100
-
Protokollierung im Logfile → Durch Setzen des Hakens aktivierst du den Logfile und die Informationen werden in diesem protokolliert
-
Username → Der Benutzername des im Magento Shop erstellten Nutzers
-
Passwort → Das vergebene Passwort aus dem Magento Shop
-
Shopurl → Deine URL zum Aufrufen des Shops
-
Stücklisten-Unterartikel automatisch mitexportieren → Wenn der Haken gesetzt ist werden die Unterartikel mit exportiert, wenn eine Stückliste zum Shop exportiert wird
-
Status "zum Abholen" → Status der Aufträge, die xentral abholen soll, meist processing
-
Status "in Bearbeitung" → Status, auf den Aufträge nach der Abholung zu xentral, gesetzt werden sollen. Es bietet sich an, in Magento einen neuen Status, z.B. xentral, anzulegen. Gehe hierzu im Shop Backend auf Stores → Order Status → Create New Status.
-
Status "Abgeschlossen" → Status, auf den Bestellung umgestellt wird, wenn Auftrag in xentral verarbeitet wurde. Standardmäßig completed, wenn nichts eingetragen wird
-
Attributecodes die beim Artikelimport übernommen werden sollen → Beim Artikelimport von Magento zu xentral können die Attribute des Artikels direkt als Eigenschaften mit importiert werden. Hierzu muss aber in diesem Feld anhand der Attributcodes aus dem Magento-Backend festgelegt werden, welche Attribute importiert werden sollen
-
Attributecodes die beim Bestellimport im Auftrag angezeigt werden sollen →
-
Normale Steuer ID und ermäßigte Steuer ID →Wenn du beim Export von Artikeln von xentral zu Magento bestehende Steuersätze in Magento verwenden willst (anstatt das xentral die Steuersätze 7% oder 19% neu anlegt), musst du hier die IDs der Steuersätze aus dem Magento Backend eingetragen
-
Wurzelkategorie ID → Beim Export von Artikel bzw. des Artikelbaums von xentral zu Magento 2, werden diese in die hier eingestellte Wurzelkategorie von Magento2 übertragen
-
Attributtyp bei Bedarf anpassen → Beim Export von Artikeln von xentral zu Magento kann der Typ des Attributs in Magento nur angepasst werden, wenn das Attribut gelöscht und nochmal neu angelegt wird. Dieser Prozess kann durch diese Einstellung bewirkt werden
-
Stücklistenartikel explodiert anzeigen → Wählst du diese Option aus, werden die einzelnen Bestandteile auf dem Auftrag angezeigt
Aktion:
-
Verbindung prüfen → Prüft die Verbindung zwischen beiden Systemen
-
Aufträge abholen → Holt die Aufträge aus deinem Shop ab.
-
Shopimport Zwischentabelle → Springt zur Zwischentabelle der Aufträge vom Shop. Die Zwischentabelle wird nur im manuellen Importmodus befüllt und wenn die Option 'Aufträge in Zwischentabelle' aktiviert ist.
In der Zwischentabelle wählst du in der linken Spalte zwischen "Import", "Müll" und "Später" aus.
-
Import: Auftrag wird direkt importiert
-
Müll: Auftrag landet im Müll und kann kein zweites Mal importiert werden
-
Später: Auftrag kann zu einem späteren Zeitpunkt importiert werden
-
-
Artikelbaum übertragen → Überträgt den Artikelbaum von xentral nach zum Magento 2 Shop
-
Artikelliste abholen → Importiert Artikel aus deinem Magento 2 Shop zu xentral. Shopartikel, die bereits in xentral vorhanden waren, werden aktualisiert, fehlende Artikel werden angelegt. Die Artikel werden nach dem Ausführen der Aktion nach und nach vom Prozessstarter Artikelimport abgeholt.
Wie du weitere Einstellungen sowie die Zuordnung von Zahlungs- und Versandarten vornimmst, erfährst du Shop-Einstellungen.
Wichtig
Subshop (Subshopmapping) und Gruppenmapping sind für Magento 2 derzeit nicht verfügbar.
Die Verknüpfung funktioniert über Attribut Codes. Die Freifelder kannst du in xentral frei benennen, sie werden vom Importer dann auf einen gültigen Attribut Code umgewandelt (z.B. aus Farbe Außen wird farbe_aussen).
Möchtest du existierende Freifelder zwischen xentral und Magento verknüpfen, so musst du zunächst den Scope bzw. Gültigkeitsbereich des Attributs in Magento auf Global stellen. Dies kann in Magento unter Stores → Attributes → Product im jeweiligen Attribut eingestellt werden. Dort findest du die Einstellung unter Advanced Attribute Properties.
Werden Attribute in Magento neu durch einen Export von Xentral angelegt, wird der Scope automatisch auf Global gesetzt. Beachte, dass die Bezeichnungen der Freifelder in Xentral so gewählt werden, dass auch nach der Umwandlung zu Attribut Codes keine ungewollten Matchings entstehen.
Um Artikel aus Magento 2 den richtigen Artikeln in Xentral zuzuordnen, werden Fremdnummern benötigt.
Gehe wie folgt vor, um deine Artikel aus Magento 2 in Xentral zuzuordnen:
-
Navigiere zu Stammdaten > Artikel und öffne den Artikel, den du zuordnen möchtest.
-
Öffne den Reiter Fremdnummern.
-
Gib im Abschnitt Anlegen sku in das Feld Bezeichnung ein.
-
Gib die Artikelnummer des Artikels in das Feld Fremdnummer ein.
-
Wähle deinen Magento 2 Shop im Feld Shop aus.
-
Optional: Setze ein Häkchen bei Barcodescanner. Dies bedeutet, dass die Fremdnummer für den Scan im Versandzentrum oder beim Einfügen in Belege verwendet werden darf.
-
Setze ein Häkchen bei Aktiv.
-
Klicke auf Speichern.
Fehlt die Zuordnung deiner existierenden Artikel zu Magento 2, werden beim Auftragsimport neue Artikel angelegt.
Im Reiter Attributmapping kannst du die Eigenschaften sowie Freifelder eines Artikels aus xentral auf Attributtypen von Magento2 mappen. Das ermöglicht eine genaue Übertragung von Artikeleigenschaften und -freifeldern in den gewünschten Attributtyp von Magento.
-
Attribut → Hier steht der Attributcode
-
Parameter → Für Select und Multiselect kann man eine Parameterliste übergeben
Beim Anlegen der Attribute werden die Teile dann als Optionen angelegt. Einzelne Werte trennst du dabei durch Pipes. Außerdem ist es dir möglich einen Parameter durch anhängen von ;1 als Standardoption zu kennzeichnen. Wenn du nichts, oder ;0 an den jeweiligen Wert anhängst, ist der Wert als nicht Default gekennzeichnet.
Die Parameter werden nur bei neu angelegten Attributen übertragen. Es ist nicht möglich, im Nachhinein einem Attribut einen Parameter über diese Mechanik anzuhängen. Wenn ein Artikel mit einer Eigenschaft übertragen wird, deren Wert noch nicht in der Optionsliste des Attributs vorhanden ist, wird der Wert daraufhin als Option vom Importer angelegt.
Wenn ein Attribut im Shop existiert, aber einen anderen Typ hat, als im erweiterten Mapping eingestellt ist, wird bei gesetzter Option "Attributtyp bei Bedarf anpassen" (siehe oben) das Attribut aus Magento gelöscht und neu angelegt. Ein Ändern der Art des Attributes ist seitens Magento nicht möglich. Wenn diese Option nicht gesetzt ist, wird der Attributtyp nicht geändert.
Ohne Mapping werden alle Attribute als Typ "Text" angelegt. Das Mapping bezieht sich auf den Attributcode, den xentral überträgt. Das bedeutet, es spielt keine Rolle ob es sich um Eigenschaften oder Freifelder handelt, ausschlaggebend ist der Attributcode.
Wichtig
Wenn du ein Attribut löschst, dann werden auch sämtliche Daten zu dem Attribut gelöscht. Diese müssen dann bei allen Artikeln neu übertragen werden.
Beim Auftragsimport kann in Magento 2 zwischen zwei Abholmodi gewählt werden, der Abholung nach Auftragsstatus oder -nummer.
Möchtest du die Aufträge ab einer bestimmten Bestellnummer abgeholen, so kannst du "ab Nummer" auswählen und unten die Bestellnummer eintragen, ab der die Aufträge abgeholt werden sollen. xentral wird dann ab einschließlich diesem Auftrag Bestellungen importieren.
Magento 2 erwartet beim Abholmodus "ab Nummer" einen Request an die Auftrags-ID, nicht die eigentliche Auftragsnummer. Beachte, dass du dann die Bestell-ID eintragen musst, die im Magento-Backend in der URL des Auftrags zu finden ist bzw. die als Wert 1 unten im Log erscheint. Die ebenfalls so genannte "Bestell-ID" in der Auftragsübersicht im Magento 2-Backend entspricht dem Wert 2 im Log und kann hier nicht erkannt werden.
Als Internetnummer wird dann allerdings der Wert 2 in den Aufträgen eingetragen, weil er in der Oberfläche von Magento auch die eigentliche Bestellnummer darstellt.
Willst du, dass stattdessen nach Auftragsstatus abgeholt wird, so kannst du unten die Bezeichnungen der beiden Status aus Magento eintragen. xentral weiß dann, welche Aufträge mit welchem Status abgeholt werden sollen und auf welchen Status die Aufträge im Shop umgestellt werden sollen, sobald sie verarbeitet wurden.
Der Magento 2 Importer kann den Kundenkommentar im Warenkorb eines Auftrags als Freitext in den Auftrag in xentral übernehmen. Hat der Kunde mehrere Kommentare hinterlassen, wird allerdings nur der erste Kommentar übertragen, da die Meldungen zum Auftragsstatus in der gleichen Datenstruktur stehen. Es bestünde sonst die Gefahr, dass Statusmeldungen als Kommentar interpretiert werden.
Bei der Verwendung von Attributen ist immer das Attributset relevant. Um das Attributset auszuwählen hast du zwei Möglichkeiten:
-
Die ID des Attributs bei der Eigenschaft mit dem Namen 'AttributeSetID' hinterlegen
-
Den Namen des zu verwendenden Sets bei der Eigenschaft mit dem Namen 'AttributeSetName' hinterlegen
Das Attributset ist in Magento in der Artikeltabelle ersichtlich:
Wenn du kein Attributset in den Eigenschaften festlegst, wird der Artikel standardmäßig der Default-Gruppe zugewiesen.
Wichtig
Bei Attributsets gibt es immer eine Ausnahme für Matrixartikel. Hier ist es so, dass das Attributset, welches aus den Matrixeigenschaften gebildet wird, priorisiert wird.
Die Verknüpfung funktioniert über Attribut Codes. Die Freifelder kannst du in xentral frei benennen und werden vom Importer dann auf einen gültigen Attribut Code umgewandelt (z.B. aus Farbe Außen wird farbe_aussen).
Willst du existierende Freifelder zwischen xentral und Magento verknüpfen, so musst du zunächst den Scope bzw. Gültigkeitsbereich des Attributs in Magento auf Global stellen. Dies kannst du in Magento unter Stores → Attributes → Product im jeweiligen Attribut einstellen. Dort findest du die Einstellung unter Advanced Attribute Properties.
Werden Attributes in Magento neu durch einen Export von Xentral angelegt, wird der Scope automatisch auf Global gesetzt. Beachte dabei, dass die Bezeichnungen der Freifelder in Xentral so gewählt werden, dass auch nach der Umwandlung zu Attribut Codes keine ungewollten Matchings entstehen.
Es ist in xentral möglich das Feld Marketingsperre eine Marketingsperre durch einen Import zu setzen. Sobald ein Kunde angegeben hat, dass er keinen "Newsletter" erhalten möchte, kannst du diese Information über die Schaltfläche "Importieren von ..." importieren.
Dazu musst du in der Schnittstelle den Haken "manuelle Adressübertragung" setzen, ansonsten wird die Schaltfläche nicht in der Adresse angezeigt.
Bei Reservierungen von Artikeln in Magento kann es zu Problemen wie Inkonsistenzen beim automatischen Bestandsabgleich kommen, welche seit der Einführung von MSI auftreten. Das heißt, da der eigentliche Bestand am Produkt erst mit der Sendungserstellung verrechnet wird, ist der Lagerbestand vom Zeitpunkt der Bestellung bis zum Versand nicht konsistent, selbst wenn in der Zwischenzeit der aktualisierte Lagerbestand eingespielt wird.
Beispiel:
-
Regelmäßiger Lagerbestandsimport: Das Produkt A hat einen Bestand von 5.
-
Ein Kunde kauft ein Produkt A; der Bestand wird entsprechend reserviert: Der Lagerbestand bleibt 5, zudem gibt es eine Reservierung, somit ist alles noch korrekt.
-
Der Auftrag wird an xentral übermittelt.
-
Regelmäßiger Lagerbestandsimport: Das Produkt A hat einen Bestand von 4, da xentral den Bestand inzwischen abgezogen hat. Die verkaufbare Menge ist 4 – 1 = 3 und damit inkorrekt beziehungsweise inkonsistent.
-
Die Sendung wird in Magento erstellt; die Reservierung wird verrechnet: Die verkaufbare Menge ist 4 – 0 = 4 und damit wieder korrekt.
-
Regelmäßiger Lagerbestandsimport: Das Produkt A hat einen Bestand von 4 (wieder korrekt)
Lösung:
Um solche Inkonsistenzen zu vermeiden, musst du die Reservierungen in Magento deaktivieren, da xentral das bestandsführende System ist. Dazu gibt es ein Plugin von Ampersand. Dieses Plugin stellt das "alte" Verhalten vor der Einführung von MSI wieder her. Somit werden keine Reservierungen angelegt, sondern der Lagerbestand wird bei Bestelleingang direkt abgezogen. Dadurch werden Inkonsistenzen beim Abgleich mit xentral verhindert.