Beim Importieren von Artikeln musst Du beachten, dass jeder Artikel einen Namen, Artikelnummer, Hersteller, Steuersatz und einen Preis benötigt um als korrekter Datensatz angelegt zu werden. Außerdem sollte beachtet werden, dass Verknüpfungen zu anderen Artikeln nur möglich sind, wenn es diese bereits im System gibt.
Die csv-Datei muss UTF8 codiert sein. Bevor ein Import in das Live-System vorgenommen wird, sollte ein Datenbankbackup vorgenommen werden. In jedem Fall empfiehlt sich auch den Import zuvor in einer Testumgebung oder im Staging-System zu prüfen.
Beim Import von Artikeln müssen wir unterscheiden zwischen der Aktualisierung und der Neuanlage von Artikeln. Bei der Aktualisierung müssen nur die Plichtfelder ordernumber, mainnumber und der Preis vorhanden sein, sowie die zu aktualisierenden Felder. Für die korrekte Neuanlage müssen auch die Felder supplier, name, tax, price gefüllt werden. Um den Artikel korrekt im Frontend anzuzeigen sollte diesem direkt eine Kategorie zugewiesen, sofern diese bereits bekannt ist, und das Kennzeichen active auf 1 gesetzt werden. Erst dann wird der erstellte Artikel korrekt im Frontend und Backend angezeigt.
Die Funktion Export von Artikeln bietet zusätzlich folgende Filtermöglichkeiten:
Varianten exportieren: Sollen Varianten exportiert werden Ja/Nein
Limitierung: Nur die gegebene Anzahl an Artikeln exportieren
Versatz: Nach der gegebenen Anzahl an Artikeln den Export beginnen
Kategorie: Nun Artikel aus der gegebenen Kategorie exportieren
Datensatz: Article
Feldname | Beschreibung | Gültige Werte | Besonderheiten |
---|---|---|---|
articleID | Artikel ID, dieses Feld ist der Datenbank Primary Key und muss zwingend einmalig sein! | nummerisch | Optional |
name | Artikel-Name | Text | Pflichtfeld für Neuanlage |
description | Kurzbeschreibung des Artikels | Text | Optional |
descriptionLong | Lange Beschreibung des Artikels | Text | Optional |
date | Einstellungsdatum | Datum | Optional |
pseudoSales | Pseudo Verkäufe | nummerisch | Optional |
topSeller | Topseller | boolean | Optional |
metaTitle | Meta-Titel | Text | Optional |
keywords | Keywords | nText | Optional |
changeTime | Änderungsdatum | Datum | Optional |
priceGroupId | ID der Preisgruppe | nummerisch | Optional, auszulesen aus s_core_pricegroups |
priceGroupActive | Preisgruppe aktiv | boolean | Optional |
lastStock | Abverkauf | boolean | Optional |
crossBundleLook | crossBundleLook | boolean | Optional |
notification | Email-Benachrichtigung | boolean | Optional |
template | Template | Text | Optional |
mode | Modus | nummerisch | Optional |
availableFrom | Verfügbar ab | Datum | Optional |
availableTo | Verfügbar bis | Datum | Optional |
supplierId | Hersteller-Id | nummerisch | Optional |
supplierName | Hersteller | Text | Pflichtfeld bei Anlage |
taxId | Steuer-ID | nummerisch | Optional |
tax | Steuersatz | Text | Pflichtfeld bei Anlage |
filterGroupId | Eigenschaften-Gruppe-ID | nummerisch | Optional |
filterGroupName | Eigenschaften Gruppe | Text | Optional |
variantId | Artikel-Detail ID | nummerisch | Optional |
ordernumber | Artikelnummer | alphanummerisch | Pflichtfeld |
mainnumber | Artikelnummer des Hauptartikels | alphanummerisch | Pflichtfeld |
kind | Typ | nummerisch | Optional |
additionalText | Zusatztext für Varianten | Text | Optional |
inStock | Bestand | nummerisch | Optional; Bitte nutze niemals dieses Feld bei Importen, wenn Du Shopware ERP powered by Pickware nutzt sondern die Pickware-Profiltypen |
active | Aktiv | boolean | Optional |
stockMin | Mindestbestand | nummerisch | Optional |
weight | Gewicht | nummerisch | Optional |
position | Position | nummerisch | Optional |
width | Weite | nummerisch | Optional |
height | Höhe | nummerisch | Optional |
length | Länge | nummerisch | Optional |
ean | EAN | Text | Optional |
unitId | Maßeinheit ID | nummerisch | Optional |
purchaseSteps | Staffelung | nummerisch | Optional |
minPurchase | Mindestabnahme | nummerisch | Optional |
maxPurchase | Maximalabnahme | nummerisch | Optional |
purchaseUnit | Kaufeinheit | nummerisch | Optional |
referenceUnit | Grundeinheit | nummerisch | Optional |
PackUnit | Verpackungseinheit | Text | Optional |
releaseDate | Veröffentlichungs-Datum | Datum | Optional |
shippingTime | Lieferzeit | nummerisch | Optional |
shippingFree | Versandkostenfrei | boolean | Optional |
supplierNumber | Hersteller-Nummer | Text | Optional |
purchasePrice | Einkaufspreis | nummerisch | Optional |
attributeAttr#(1-20) | Attributfeld | Text | Optional |
Dieser Import enthält nur die wichtigsten Felder um einen Artikel-Import durchzuführen(ordernumber, mainnumber,supplier, name, tax, price). Sobald diese Felder beinhaltet sind kann ein Artikel neu angelegt werden, zur Korrekten Anzeige im Frontend sollten noch eine Kategorie und das Feld "Aktiv" gefüllt werden.
Das Profil zu diesem Import kannst Du aus der Liste der Standard-Profile auswählen unter dem Namen "Artikel minimal (default_articles_minimal)".
Eine Beispiel XML-Datei findest Du hier: ArticleMinimal.xml
Eine Beispiel CSV-Datei kannst Du hier finden: AricleMinimal.csv
Dieses Profil liefert alle Felder, welche für eine Neuanlage eines Artikels benötigt werden, sowie die meisten sinnvollen Detail-Felder. Sofern Eigenschaften, Übersetzungen oder Bilder mit im-/exportiert werden sollen müssen diese über die jeweiligen Datensatzen hinzugefügt werden.
Das Profil zu diesem Import kannst Du aus der Liste der Standard-Profile auswählen unter dem Namen "Artikel (default_articles)".
Eine Beispiel XML-Datei findest Du hier: Article.xml
Eine Beispiel CSV-Datei kannst Du hier finden: Article.csv
Dieses Profil enthält alle möglichen sinnvollen Felder und erweiterten Datensätze wie Preise, Varianten, Eigenschaften usw.
Das Profil zu diesem Import kannst Du aus der Liste der Standard-Profile auswählen unter dem Namen "Artikel komplett (default_articles_complete)".
Eine Beispiel XML-Datei findest Du hier: ArticleComplete.xml
Eine Beispiel CSV-Datei kannst Du hier finden: ArticleComplete.csv
Bei der Anlage von Varianten ist zu beachten, ob Varianten zu einem bestehenden Artikel hinzugefügt werden, oder ob ein neuer Artikel angelegt wird, welcher Varianten haben soll. Es ist nicht möglich Varianten über einen Import zu entfernen, oder bestehende Nicht-Varianten-Artikel zu einem Varianten-Artikel zusammenzufügen. Ob eine Variante die Vorauswahl ist oder nicht wird durch den Knoten "kind" bestimmt, dieser kann den Wert 1 für die Vorauswahl und 2 für alle weiteren Varianten haben. Es darf immer nur eine Variante bei kind eine 1 erhalten, also Vorauswahl-Variante sein.
Datensatz: Configurator
Feldname | Beschreibung | Gültige Werte | Besonderheiten |
---|---|---|---|
variantId | Artikel-Detail ID | nummerisch | Optional |
configOptionId | Options-ID | alphanummerisch | Optional |
configOptionName | Optionsname | Text | Pflichtfeld |
configOptionPosition | Position der Option | nummeric | Optional |
configGroupId | Gruppen-ID | nummerisch | Optional |
configGroupName | Gruppen-Name | Text | Pflichtfeld |
configGroupDescription | Beschreibung der Gruppe | Text | Optional |
configSetId | Set-ID | nummerisch | Optional |
configSetName | Set-Name | Text | Optional |
configSetType | Set-Type | nummerisch | Optional |
Um einen Varianten-Artikel zu erstellen, muss zusätzlich der Datensatz configurator hinzugefügt werden (im Standardprofil enthalten). Wichtig sind hier vor allem die Knoten configuratorGroupName und configuratorOptionName die im CSV-Export zu einer gemeinsamen Spalte configuratorOptions zusammengesetzt werden. Der Aufbau ist hier so: Gruppe:Option. Bitte beachte auch die Hinweise zu möglichen Fehlerquellen weiter unten.
Das Profil zu diesem Import kannst Du aus der Liste der Standard-Profile auswählen unter dem Namen "Artikelvarianten minimal (default_article_variants_minimal)".
Eine Beispiel XML-Datei findest Du hier: ArticleVariantsMinimal.xml
Eine Beispiel CSV-Datei kannst Du hier finden: ArticleVariantsMinimal.csv
Um Bilder zu importieren dient der Datensatz image. Es ist zu unterscheiden, ob ein Bild via URL oder ein Bild aus dem Media Manager importiert werden soll.
Aktuell ist ein Export von Bildern via CLI nicht möglich.
Datensatz: Image
Aktuell können sowohl bestehende Bilder aus der Medienverwaltung über diesen Datensatz zugewiesen werden, als auch neue Bilder angelegt werden. Für einen separaten Bildimport muss das Profil article images genutzt werden, welches zusätzliche Bildoptionen bietet.
Feldname | Beschreibung | Gültige Werte | Besonderheiten |
---|---|---|---|
id | id aus s_article_images | nummerisch | Optional |
variantId | Artikel-Detail ID | nummerisch | Optional |
articleId | Artikel-ID | nummerisch | Optional |
path | Name des Artikelbildes | Text | Optional |
imageUrl | HTTP-Link zum Bild | Text | Erforderlich bei Neuanlage des Bildes |
main | Vorschaubild | boolean | Pflichtfeld |
mediaId | mediaID | nummerisch | Pflichtfeld, Auszulesen aus der s_media |
thumbnail | Thumbnail | nummerisch | Optional |
Um einem bestehenden Artikel ein Bild über einen HTTP-Link hinzu zu fügen, kann dieses Profil verwendet werden.
Das Profil zu diesem Import kannst Du aus der Liste der Standard-Profile auswählen unter dem Namen "Artikelbilder über URL (default_article_images_url)".
Eine Beispiel XML-Datei findest Du hier: ArticleImageURL.xml
Eine Beispiel CSV-Datei kannst Du hier finden: ArticleImageURL.csv
Der Datensatz similar ist für die ähnlichen Artikel zuständig. Die Verknüpfung erfolgt hier über die Spalte "ordernumber", also die Artikelnummer des Produktes.
Datensatz: Similar
Feldname | Beschreibung | Gültige Werte | Besonderheiten |
---|---|---|---|
ordernumber | Bestellnummer des Artikels | alphanummerisch | |
mainnumber | Bestellnummer des Hauptartikels | alphanummerisch | |
similarId | Artikle-ID des/der ähnlichen Artikel | nummerisch | Optional (mehrere Artikel werden mit einem Pipe getrennt) |
Dieses Profil kann verwendet werden, wenn einem bestehenden Artikel, in diesem Beispiel SW10002.3, ein bestehender ähnlicher Artikel zugewiesen werden soll.
Das Profil zu diesem Import kannst Du aus der Liste der Standard-Profile auswählen unter dem Namen "Ähnliche Artikel (default_similar_articles)".
Eine Beispiel XML-Datei findest Du hier: ArticleSimilar.xml
Eine Beispiel CSV-Datei kannst Du hier finden: ArticleSimilar.csv
In diesem Profil werden zwei neue Artikel erstellt, zwischen denen eine Ähnliche-Artikel-Beziehung besteht. Hier muss zunächst der ähnliche Artikel erstellt weren, damit dieser dem zweiten neuen Artikel zugewiesen werden kann.
Das Profil für diesen Import kann hier heruntergeladen werden: ArticleNewSimilar.json
Eine Beispiel XML-Datei findest Du hier: ArticleNewSimilar.xml
Eine Beispiel CSV-Datei kannst Du hier finden: ArticleNewSimilar.csv
Mithilfe des Datensatzs accessory kannst Du Zubehörartikel importieren. Auch hier wird die Bestellnummer als Referenz verwendet.
Datensatz: Accessory
Feldname | Beschreibung | Gültige Werte | Besonderheiten |
---|---|---|---|
accessoryId | Accessory-ID | nummerisch | Optional |
ordernumber | Bestellnummer | alphanummerisch | Bestellnummern der Zubehör-Artikel mit einem Pipe getrennt |
articleId | Artikel-ID | nummerisch | Optional |
Mit diesem Profil werden einem bestehenden Artikel bestehende Zubehörartikel zugewiesen. Es sind nur die IDs der jeweiligen Artikel nötig um die Verknüpfung herzustellen.
Das Profil zu diesem Import kannst Du aus der Liste der Standard-Profile auswählen unter dem Namen "Artikel Zubehör (default_article_accessories)".
Eine Beispiel XML-Datei findest Du hier: ArticleAccessory.xml
Eine Beispiel CSV-Datei kannst Du hier finden: ArticleAccessory.csv
In diesem Profil werden zwei neue Artikel erstellt, zwischen denen eine Zubehör-Artikel-Beziehung besteht. Hier muss zunächst der Zubehörartikel erstellt werden, damit dieser dem zweiten neuen Artikel zugewiesen werden kann. In diesem Profil werden zwei neue Artikel erstellt, zwischen denen eine Ähnliche-Artikel-Beziehung besteht. Hier muss zunächst der ähnliche Artikel erstellt weren, damit dieser dem zweiten neuen Artikel zugewiesen werden kann.
Das Profil für diesen Import kann hier heruntergeladen werden: ArticleNewAccessory.json
Eine Beispiel XML-Datei findest Du hier: ArticleNewAccessory.xml
Eine Beispiel CSV-Datei kannst Du hier finden: ArticleNewAccessory.csv
Mit diesem Profil kannst Du Kundengruppen-Preise importieren. Hierzu dient der Datensatz Price (bereits im Standardprofil enthalten). Wenn Preise für eine andere Kundengruppe als EK importiert werden möchten, ist zwingend der Knoten priceGroup für das Profil notwendig. Für jede Kundengruppe wird im CSV-Export eine neue Preisspalte übergeben. Du kannst also mit price_EK oder price_H die Preise für unterschiedliche Kundengruppen importieren. Dieser Datensatz ist zwingend notwendig um einen neuen Artikel importieren zu können, da der Preis eine Mindestangabe ist.
Über den Import können keine Staffelpreise am Artikel entfernt oder angepasst werden, bspw. Änderungen an den einzelnen Staffeln. Die Staffelpreise sollten nur über das gesonderte Profil Artikelpreise importiert werden und nicht über die allgemeinen Artikel-Profile. Informationen zu dem Artikelpreis-Profil findest Du hier.
Datensatz: Price
Feldname | Beschreibung | Gültige Werte | Besonderheiten |
---|---|---|---|
variantId | Artikel-Detail ID | nummerisch | Optional |
articleId | Artikel-ID | nummerischer | Optional |
price | Artikelpreis | nummerisch | Verkaufspreis |
pseudoPrice | Pseudopreis | nummerisch | Optional |
priceGroup | Kundengruppe | nummerischer Wert | Kürzel der Kundengruppe |
Mit diesem Profil werden Kundengruppen-Preise zu einem bestehenden Artikel importiert. Hierzu dient der Datensatz Price.
Das Profil für diesen Import kann hier heruntergeladen werden: ArticlePrices.json
Eine Beispiel XML-Datei findest Du hier: ArticlePrices.xml
Eine Beispiel CSV-Datei kannst Du hier finden: ArticlePrices.csv
Um Eigenschaften zu importieren dient der Datensatz Properties. Es können auch Eigenschaften angegeben werden, welche noch nicht vorhanden sind. Diese werden dann im Zuge des Imports neu erstellt. Die beiden Knoten propertyValueName und propertyOptionName werden im CSV-Export und Import zu einer Spalte propertyValueName zusammengefasst. Der Aufbau ist hier so: Gruppe:Option. Eigenschaften lassen sich ab Version 1.0.2 importieren.
Datensatz: PropertyValues
Feldname | Beschreibung | Gültige Werte | Besonderheiten |
---|---|---|---|
articleId | ID des Artikels | nummerisch | Optional |
propertyGroupName | Name des Eigenschaften-Sets | Text | Pflichtfeld |
propertyValueId | Artikel-ID | nummerisch | Optional |
propertyValueName | Name der Eigenschaften-Option | Text | Pflichtfeld |
propertyValuePosition | Positionsnummer | nummerisch | Optional |
propertyOptionName | Name der Eigenschaften-Gruppe | Text | Pflichtfeld |
Dieses Profil dient dazu Eigenschaften bei einem bestehenden Artikel zu aktualisieren.
Das Profil zu diesem Import kannst Du aus der Liste der Standard-Profile auswählen unter dem Namen "Artikel Eigenschaften hinzufügen (default_article_properties)".
Eine Beispiel XML-Datei findest Du hier: ArticleProperties.xml
Eine Beispiel CSV-Datei kannst Du hier finden: ArticleProperties.csv
Mit diesem Profil wird ein Artikel neu angelegt, welchem neue Eigenschaften zugewiesen werden.
Das Profil für diesen Import kann hier heruntergeladen werden: ArticlePropertiesNew.json
Eine Beispiel XML-Datei findest Du hier: ArticlePropertiesNew.xml
Eine Beispiel CSV-Datei kannst Du hier finden: ArticlePropertiesNew.csv
Der Datensatz category dient der Kategoriezuordnung. Eine Verknüpfung zur Kategorie ist nur über die Kategorie-ID möglich. Diese kann bspw. über das Kategoriemodul im Backend ausgelesen werden. Mehrere Kategorien werden durch ein Pipe getrennt.
Datensatz: Category
Feldname | Beschreibung | Gültige Werte | Besonderheiten |
---|---|---|---|
categoryId | Kategorie-ID | nummerisch | Pflichtfeld |
categoryPath | Kategorie-Pfad | text | Optional |
articleId | Artikel-ID | nummerisch | Optional |
Dieses Profil dient dazu bei einem bestehenden Artikel eine weitere Kategorie hinzuzufügen.
Das Profil zu diesem Import kannst Du aus der Liste der Standard-Profile auswählen unter dem Namen "Artikel Kategorien (default_article_categories)".
Eine Beispiel XML-Datei findest Du hier: ArticleCategories.xml
Eine Beispiel CSV-Datei kannst Du hier finden: ArticleCategories.csv
Im Standard des Import-Export-Moduls werden im Import die Optionen und Gruppen der Varianten durch einen Doppelpunkt getrennt. Wenn nun ein Doppelpunkt im Gruppen-Namen enthalten ist, kann dies zu Fehlern im Import führen, da der Importer nicht mehr definieren kann, wo die Option anfängt. (Bspw. Bitte auswählen::rot). In diesem Fall kann man mit den Conversions im Export arbeiten und dann für die Spalte configGroupName eine Conversion anlegen. Hier reicht es aus mit einem Replace zu arbeiten: {$configGroupName|replace:":":""}
Im Anschluss kannst Du die Gruppe dann wieder über die Datenbank anpassen und ein ":" hinzufügen. Hierzu musst Du nur die Spalte name in der Tabelle s_article_configurator_groups anpassen.