Import/Export


 

It's easy to manage your content in Shopware 6. You can use imports and exports to review your existing content or transfer it to interfaces or evaluation tools. In this documentation we generally describe the options you have for imports and exports.

basic module

You can find the menu item in your administration under Settings > Shop > Import/Export.

Some programs like Excel do not support UTF-8 compliant encoding and encode the umlauts in a separate format. If you use umlauts, make sure that the CSV is UTF-8 compliant.

Preparation

Make sure that the character sets are in the format UTF-8 and are separated with semicolons. If quotation marks appear, they will also be interpreted as string separators. The UTF-8 format and the separators semicolon and quotation marks are the basic requirements for a successful import into Shopware. In most spreadsheet programs, such as Libre Office set this in advance.

The required field options are:

Character setUTF-8
Field separatorSemicolon
String separatorQuotation marks

Import

In the tab Import you have the ability to import data into your Shopware 6 environment using CSV files.

Note that you can generally only add information with the import, but not remove it. For example, if a product has a sales channel assignment, this cannot be removed by an import.

Decimal places in the price are always separated by a point. Example: 5.00 instead of 5,00. If you set a comma, the price will not be imported correctly. So make sure that every price with the database entry "price" is separated by a dot.

Upload CSV file (1):
Select the native CSV file from your PC which should be used for the import. The CSV file should contain the data to be imported into your Shopware 6 environment.

Some spreadsheet programs may affect the separators or leading zeros of CSV files. Therefore you should be careful to use a tool that creates native CSV files. A free tool that creates native CSVs is Open Office Calc.

Select profile (2):
Select the profile that is used to import the CSV file. The profile determines which data from the CSV file is stored in which database tables.

Start import (3):
With this button you start the import of the CSV file using the selected profile. Now all records are validated and all error-free records are imported. All erroneous records are combined in a new CSV file, which can be downloaded afterwards.

Start dry run (4):
With this button you can test the import once completely before you actually start it. This way you can test before the import if the complete import file can be imported or if there will be problems during the import. In this way, you can prevent the file from being only partially imported before the import, so that the import may have to be re-completed later. 

Import activity (5):
In the Import activity you can see a history of your past imports. All imports of the last 30 days are displayed here.
Using the context menu at the end of each line, you can download the imported source CSV file again and open the profile used. For imports with erroneous records, you can also download a CSV file that contains only the erroneous data. 

Abort process (6):
Using the context menu on the right side of each import entry in the import activities, you can also cancel an import process during the import. Note that it may happen that some data has already been imported.

Export

In the Export tab you can export existing data from your Shopware 6 environment and convert it into a CSV file.

Export (1): 
In the Export section you select which data should be exported based on the profile. A list of which profile outputs which data can be found in the Profiles section.

Select profile (2):
Select the profile that is used to export your data to the CSV file. The profile determines which data from the database is written into the CSV file.

Start export (3):
With this button you start the export of the data using the selected profile. 

Export activity (4):
In the export activity you can see a history of your past exports. All exports of the last 30 days are displayed here.
You can open the used profile and download the CSV file again using the context menu at the end of each line.

Export assistant - AI Copilot

Using AI Copilot, you can easily export certain data with the help of AI.

The AI Copilot is an extension that is part of the Shopware Rise plan. It is also necasarry to enable the Commercial extension.

Enable AI Copilot (1):
In this section you can activate the AI-powered export assistant. If you click there, the Export assistant module will open.

In the module you will find suggestions that can be processed by the Export assistant.

In this version of the assistant only customer, product, order, category, newsletter, promotion code, promotion discount, properties, cross-selling and product price data are supported.

Profile

In the tab Profiles you manage the profiles which are used for import and export. The profile that is selected for import and export specifies which database entries are accessed during import/export.

Profile overview (1):
In the profile overview you will find all created profiles. It also indicates whether it is a standard or a user created profile.

Menu (2):
Use this context menu to open or delete the profile. In addition, the profile can be duplicated and modified using this context menu.

Create new profile (3):
Use the button to create a completely new profile.

Search (4):
If the profile overview loses its clarity due to too many created profiles, you can find each created profile by using the search function.

Creating individual profiles

If you create your own profile, make sure that you have selected the default system language (top right using the language selector). This also applies to profiles that are to be valid for another language. Otherwise an import/export is not possible. The default system language is the language you chose at the very beginning of your Shopware installation.

In addition to the standard profiles, which are provided by Shopware, you also have the option to create your own profiles. You can create a new profile under Settings > Shop > Import/Export in the tab Profiles. There are two ways to create a new import/export profile. Using the context menu next to each profile you can duplicate the corresponding profile. This way you can duplicate and modify an existing profile or one of the standard profiles.

With the button add new profile you can also create a completely new profile and start from scratch. A new window will open in which you can enter the following information:

General

Profile name (1):
The profile name is used in the profile list and in the profile selection in import and export.

Usage (2):
Here you can choose whether the profile should be used for importing data, for exporting or for both ways. With profiles that are intended for import, export is not possible.

Object type (3):
The object type specifies which database tables and columns the profile can access. For instance, the object type Product can be used to access all product-relevant entries from the database, while the type Customer can be used to access all customer-relevant entries.

Separator character (4):
The separator character is used to separate the fields in the CSV file. This is the semicolon is default.

Enclosure character (5): 
The enclosure character appears at the beginning and end of a text. Within these characters, separator characters are ignored.

Import settings (6):
Here you can define how the import should handle the values of the import file. With the button Create new records you define if the import is able to create new records in the store. For this purpose, the ID in the import file can be left empty. With Update existing data the import is enabled to overwrite existing information in the store.

Upload CSV file

In this window you have the possibility to create your profile based on an already existing CSV file. For example, you can use the export from another store. The profile then receives the fields from the CSV file, which you can then assign to the database entries.
If you want to create the profile from scratch, you can also skip this step. 

Mappings

Add new mapping (1):
With this button you can add a line to the database mapping. In the still empty line you select a database entry to be accessed and enter the name of the column from the CSV file.

Database mapping (2):
In the database mapping you assign a column from the CSV file to the desired entries from the database. The CSV name that you assign here must be the name of the corresponding column in the CSV file that is used with this profile.

Required (3):
Specify here whether the respective field should be a required field. It must then be filled in the import file so that the import works without errors.

Default Value (4):
Here you can enter a default value in case the field was not filled in the import file. In this case the default value will be imported.

Position (5):
Here you define at which position of the CSV file the respective field is expected.

Delete (6):
You can remove each entry by using the context menu behind it.

When creating a new profile, the mandatory fields are automatically created and added.

Advanced settings

Second Unique Identifier

Up to now, the import always required a UUID in order to assign the data to the correct entities. For example, a long, cryptic UUID had to be specified in each line of the CSV import file.
With a second unique identifier (identifier), you can now determine for yourself which identifier ​​the data are mapped to with the entities.
For example, you can specify that the productNumber must now be specified instead of the UUID when importing products. The UUID is thus replaced by another identifier, the product number.

To use the feature, go to Settings > Import/Export and go to the Profiles tab. When you open the profile, you will find the Advanced Settings tab.

In this example we edit the product profile and define a new mapping.
On the left side you will find all entities (1) of the profile to which you can assign a new identifier.
The current identifiers (2) are displayed next to this. The mapping takes place on the basis of this assignment.
To assign a new identifier, you can open the dropdown (3) and display and select all available identifiers.

Note that not every mapping with a new identifier necessarily makes sense. For example, if you have products with the same name in your system and you also use the name (translation.DEFAULT.name) as the new identifier, the system can only identify and import the first data record.

In the following you will find all database entries of the individual object types. 

Object type - "Product"

Only a complete profile can be saved. This contains at least the following mandatory fields: id, taxId, productNumber, stock, name.

Special id: When creating a new entry, the ID is generated by the system. Therefore, the column should remain empty when creating a new one.

Database entryDescriptionDatabase table
activeIndication whether the product is activeproduct
autoIncrementUnique decimal numberproduct
availableIndication if the product is availableproduct
availableStockAvailable stockproduct
childCountNumber of variantsproduct
configuratorGroupConfigOwn sorting of the propertiesproduct
cover.idUUID of the preview image of the articleproduct_media
cover.versionIdUUID which indicates the version of the preview image of the article.product_media
cover.media.IdUUID of the preview image of the article. A dot can be set behind media to access further fields within media.media
cover.positionPosition of the preview image in the media overview of the article.product_media
cover.customFieldsPreview image additional fieldcustom_field
cover.createdAtPreview image uploadedproduct_media
cover.updatedAtPreview image updatedproduct_media
customSearchKeywordsSearch keywordsproduct_translation
deliveryTime.idUUID of delivery timedelivery_time
deliveryTime.nameName of the delivery timedelivery_time_translation
deliveryTime.customFieldsDelivery time additional fieldsdelivery_time_translation
deliveryTime.minMinimum delivery timedelivery_time
deliveryTime.maxMaximum delivery timedelivery_time
deliveryTime.unitDelivery time Unitdelivery_time
deliveryTime.translationsTranslations of the deliveryTime fields. A dot can be placed behind translations to access further fields.delivery_time_translation
deliveryTime.createdAtDelivery time createddelivery_time
deliveryTime.updatedDelivery time updateddelivery_time
eanEAN numberproduct
heightProduct heightproduct
IdUUID which is assigned by the system. This column should be left empty when creating new articles.product
isCloseoutSaleproduct
lengthLengthproduct
manufacturer.idUUID of the manufacturerproduct_manufacturer
manufacturer.versionIdUUID which indicates the version of the manufacturer.product_manufacturer
manufacturer.linkManufacturer's websiteproduct_manufacturer
manufacturer.nameManufacturer's nameproduct_manufacturer_translation
manufacturer.descriptionManufacturer's descriptionproduct_manufacturer_translation
manufacturer.customFieldsManufacturer Additional fieldsproduct_manufacturer_translation
manufacturer.media.IdUUID of the manufacturer picture. A dot can be placed behind media to access further fields within media.media
manufacturer.translationsTranslations of the manufacturer fields. A dot can be placed behind translations to access further fields.product_manufacturer_translation
manufacturer.createdAtManufacturer createdproduct_manufacturer
manufacturer.updatedAtManufacturer updatedproduct_manufacturer
manufacturerNumberManufacturer's product numberproduct
markAsTopsellerPromote productproduct
maxPurchaseMaximum purchaseproduct
mediaURL of all product images except the cover image.is generated
minPurchaseMinimal purchaseproduct
optionIdsVariant optionsproduct_option
optionsVariant optionsproperty_group_option
parentFields of the main product for variant articles. You can set a period after parent and thus access all fields that are also available in the Object Type Product.product
price.DEFAULT.netStandard net price. DEFAULT can be replaced by the respective currency. e.g. EURproduct
price.DEFAULT.grossStandard gross price. DEFAULT can be replaced by the respective currency. e.g. EURproduct
price.DEFAULT.currencyIdUUID of the currency. DEFAULT can be replaced by the respective currency. e.g. EURcurrency
price.DEFAULT.linkedIndicates whether the net and gross price are linked. DEFAULT can be replaced by the respective currency. e.g. EURproduct
price.DEFAULT.listPriceExtended prices. DEFAULT can be replaced by the respective currency. e.g. EURproduct
productNumberProduct numberproduct
propertiesUUID of the properties separated by a pipe symbol (|).property_group_option
purchasePricePurchase priceproduct
purchaseStepsScalingproduct
purchaseUnitSales unitproduct
ratingAvarageAverage valuationproduct
referenceUnitBasic unitproduct
releaseDateRelease dateproduct
restockTimeRestock timeproduct
shippingFreeFree shippingproduct
stockStockproduct
tagIdsProduct tagsproduct_tag
tagsUUID of the tags, separated by a pipe symbol (|)product_tag
tax.IdUUID of the tax ratetax
tax.taxRatePercentagetax
tax.nameTax nametax.translate
tax.customFieldAdditional fieldscustom_field
tax.createdAtTax rate createdtax
tax.updatedATTax rate updatedtax
translations.DEFAULTAll language dependent product fields. DEFAULT can be replaced by the language and the respective field can be accessed by a subsequent dot. e.g. translations.en-GB.nameproduct_translation
unit.IdUUID of the measurement unitsunit
unit.shortCodeUnit of measurement Abbreviation    unit_translation
unit.nameUnit of measurement nameunit_translation
unit.customFieldsMeasurement unit Additional fieldsunit_translation
unit.translationsTranslations of the unit of measurement fields. A dot can be placed after translations to access further fields.unit_translation
unit.createdAtUnit of measurement created    unit
unit.updatedAtUnit of measurement updatedunit
variantRestrictionsExcluding variants from the variant generator    product
variantListingConfigStorefront presentation (display of the variants in the storefront)product
versionIdUUID which indicates the version of the article. product
visibilities.allUUID of the sales channel in which the article is completely availableproduct_visibility
visibilities.linkUUID of the sales channel in which the article is hidden and only accessible through the direct linkproduct_visibility
visibilities.searchUUID of the sales channel in which the article is only accessible by search.product_visibility
weightWeightproduct
widthWidthproduct

Object type - "Customer" 

Only a complete profile can be saved. This contains at least the following mandatory fields: iddefaultBillingAddressIddefaultShippingAddressIdcustomerNumberfirstNamelastNameemail.

Special id: When creating a new entry, the ID is generated by the system. Therefore, the column should remain empty when creating a new one.

Please make sure you disable emailing (Settings > System > Mailer) before importing customers as from version 6.4.9.0 to prevent registration emails from being sent out to each individual customer after the import.

Database entryDescriptionDatabase table
activeIndication whether the customer is activecustomer
affiliateCodeAffiliate codecustomer
autoincrementUnique decimal numbercustomer
birthdayBirthdaycustomer
campaignCodeCampaign codecustomer
companyCompanycustomer
createdAtWhen was the customer createdcustomer
customFieldsCustomers additional fieldscustomer
customerNumberCustomer numbercustomer
defaultBillingAddress.idUUID of the billing addresscustomer
defaultBillingAddress.firstNameFirst name of Invoice addresscustomer_address
defaultBillingAddress.lastNameInvoice address surnamecustomer_address
defaultBillingAddress.zipcodeInvoice address postcodecustomer_address
defaultBillingAddress.cityInvoice address citycustomer_address
defaultBillingAddress.companyInvoice address companycustomer_address
defaultBillingAddress.streetInvoice address streetcustomer_address
defaultBillingAddress.departmentInvoice address departmentcustomer_address
defaultBillingAddress.titleInvoice address titlecustomer_address
defaultBillingAddress.vatIdInvoice address Tax-IdNr.customer_address
defaultBillingAddress.phoneNumberInvoice address phone numbercustomer_address
defaultBillingAddress.additionalAddressLine1Address suffix 1 of the invoice addresscustomer_address
defaultBillingAddress.additionalAddressLine2Address suffix 2 of the invoice addresscustomer_address
defaultBillingAddress.customFieldsAdditional fields of the invoice addresscustomer_address
defaultBillingAddress.customerCustomer fields of the invoice address. A dot can be placed after customer to access further fields.customer, customer_address
defaultBillingAddress.countryCountry fields of the invoice address. A dot can be set after country to access further fields.customer_address, country, country_translation
defaultBillingAddress.countryStateState fields of the invoice address. Behind countryState a dot can be set and thus further fields can be accessed.customer_address, country_state, country_state_translation
defaultBillingAddress.salutationSalutation fields of the invoice address. A dot can be placed after salutation to access further fields.customer_address, salutation, salutation_translation
defaultBillingAddress.createdAtWhen was the invoice address createdcustomer_address
defaultBillingAddress.updatedAtWhen was the invoice address updatecustomer_address
defaultPaymentMethod.idUUID of the standard payment typecustomer
defaultPaymentMethod.pluginIDUUID of the plug-in of the default payment methodpayment_method
defaultPaymentMethod.handleridentifierStorage location of the PaymentHandlerpayment_method
defaultPaymentMethod.nameName of the default payment methodpayment_method
defaultPaymentMethod.descriptionDescription of the default payment methodpayment_method
defaultPaymentMethod.positionPosition of the default payment typepayment_method
defaultPaymentMethod.activeSpecifies whether the default payment type is active.payment_method
defaultPaymentMethod.customFieldsAdditional fields of the default payment typepayment_method_translation
defaultPaymentMethod.formattedHandlerIdentifierShortened form of the HandlerIdentifierpayment_method
defaultPaymentMethod.translationsTranslations of the default payment method. A dot can be placed after translations to access additional fields.payment_method, payment_method_translation
defaultPaymentMethod.mediaFields of the payment method logo. A dot can be set behind media and thus access further fields within media.payment_method, media
defaultPaymentMethod.availabilityRuleFields of the payment type availability rule. You can set a point behind availabilityRule and thus access further fields.payment_method, rule
defaultPaymentMethod.pluginFields of the payment method plug-in. Behind the plugin a dot can be set and thus further fields can be accessed.payment_method, plugin
defaultPaymentMethod.salesChannelsSales channels in which the default payment method is stored, separated by a "pipe" symbol (|)payment_method
defaultPaymentMethod.createdAtWhen was the default payment type created?payment_method
defaultPaymentMethod.updatedAtWhen was the default payment method updated?payment_method
defaultShippingAddress.idUUID of the delivery addresscustomer
defaultShippingAddress.firstNameFirst name of delivery addresscustomer_address
defaultShippingAddress.lastNameSurname of delivery addresscustomer_address
defaultShippingAddress.zipcodePostcode of delivery address customer_address
defaultShippingAddress.cityPostcode of delivery addresscustomer_address
defaultShippingAddress.companyCompany of delivery address    customer_address
defaultShippingAddress.streetStreet of delivery addresscustomer_address
defaultShippingAddress.departmentDepartment of the delivery addresscustomer_address
defaultShippingAddress.titleDelivery address titlecustomer_address
defaultShippingAddress.vatIdTax ID number of the delivery addresscustomer_address
defaultShippingAddress.phoneNumberPhone number of the delivery addresscustomer_address
defaultShippingAddress.additionalAddressLine1Address suffix 1 of the delivery addresscustomer_address
defaultShippingAddress.additionalAddressLine2Address suffix 2 of the delivery addresscustomer_address
defaultShippingAddress.customFieldsAdditional fields of the delivery addresscustomer_address
defaultShippingAddress.customerCustomer fields of the delivery address. A dot can be placed after customer to access further fields.customer, customer_address
defaultShippingAddress.countryCountry fields of the delivery address. A dot can be set behind country to access further fields.customer_address, country, country_translation
defaultShippingAddress.countryStateState fields of the delivery address. Behind countryState a dot can be set and thus further fields can be accessed.customer_address, country_state, country_state_translation
defaultShippingAddress.salutationSalutation fields of the delivery address. A dot can be placed after salutation to access further fields.customer_address, salutation, salutation_translation
defaultShippingAddress.createdAtWhen was the delivery address createdcustomer_address
defaultShippingAddress.updatedAtWhen was the delivery address updatedcustomer_address
doubleOptInConfirmDateWhen was the doubleOptIn mail confirmed?customer
doubleOptInEmailSendDateWhen was the doubleOptIn mail send?customer
doubleOptInRegistrationWas doubleOptIn registration active during registration?customer
emailEmailcustomer
firstLoginFirst login of the customercustomer
firstNameFirst namecustomer
group.idUUID of the customer groupcustomer
group.nameCustomer group namecustomer_group
group.displayGrossTax representation of the customer groupcustomer_group
group.customFieldsCustomer groups additional fieldscustomer_group_translation
group.translationsTranslations of the customer group fields. A dot can be placed behind translations to access further fields.customer_group_translation
group.createdAtWhen was the customer group created?customer_group
group.updatedAtWhen was the customer group updated?customer_group
guestIs it a guest order?customer
hashHash value, which is used for the doubleOptIn confirmation mail,customer
IdUUID of the customer.
When creating a new ID, the system generates it. Therefore, the column should remain empty.
customer
language.idUUID of the languagecustomer
language.nameName of the languagelanguage
language.customFieldsLanguage additional fieldslanguage
language.parentUUID of the language from which it is inherited.language
language.localeFields of language localization. A dot can be placed after locale to access further fields.language, locale, locale_translation
language.translationCodeISO code fields of the language. A dot can be placed after translationCode to access further fields.language, locale, locale_translation
language.salesChannelsUUID of the sales channels where the language is used.language
language.createdAtWhen was the language createdlanguage
language.updatedAtWhen was the language updatedlanguage
lastLoginLast login of the customercustomer
lastNameSurnamecustomer
lastOrderDateDate of the last ordercustomer
lastPaymentMethodsFields of the last payment method. A dot can be set behind lastPaymentMethods to access additional fields.customer, payment_methods, payment_methods_translation
legacyEncoderEncoder to decrypt foreign system passwordcustomer
legacyPasswordEncrypted password from another system, e.g. after a migrationcustomer
newsletterHas the customer opted in to the newsletter?customer
orderCountNumber of orderscustomer
passwordEncrypted hash value of the passwordcustomer
remoteAddressCustomer's IP addresscustomer
salesChannel.idUUID of the sales channel to which the customer is assignedcustomer
salesChannel.type.Fields for the sales channel type. A dot can be placed after type to access further fields.sales_channel, sales_channel_type, sales_channel_type_translation
salesChannel.language.Fields for the language of the sales channel. A dot can be placed after language to access further fields.sales_channel,
language,
language_translation
salesChannel.customerGroup.Fields for the standard customer group of the sales channel. After customerGroup, you can set a period and thus access further fields.sales_channel, customer_group, customer_group_translation
salesChannel.currencyFields for the default currency of the sales channel. You can set a period after currency to access other fields.sales_channel, currency, currency_translation
salesChannel.paymentmethodFields for the standard payment type of the sales channel. You can set a point after paymentmethod to access further fields.sales_channel, payment_method, payment_method_translation
salesChannel.shippingMethodFields for the standard shipping type of the sales channel. You can set a period after shippingMethod to access additional fields.sales_channel, shipping_method, shipping_method_translation
salesChannel.countryFields for the default country of the sales channel. You can set a period after country to access other fields.sales_channel, country, country_translation
salesChannel.navigationCategoryFields for the category that is defined as the entry point for the main navigation of the sales channel. You can set a point behind navigationCategory to access additional fields.sales_channel, category, category_translation
salesChannel.navigationCategoryDepthMain navigational levelssales_channel
salesChannel.footerCategoryFields for the category that is stored as the entry point for the footer navigation of the sales channel. You can set a point after footerCategory to access additional fields.sales_channel, category, category_translation
salesChannel.serviceCategoryFields for the category that is defined as the entry point for the service navigation of the sales channel. You can set a point after serviceCategory to access additional fields.sales_channel, category, category_translation
salesChannel.mailHeaderFooterfields for the header and footer template of the sales channel is stored. Behind mailHeaderFooter a dot can be set and thus further fields can be accessed.sales_channel, mail_header_footer, mail_header_footer_translation,
salesChannel.nameName of the sales channelsales_channel
salesChannel.shortNameSales channel abbreviationsales_channel
salesChannel.accessKeyAPI accesssales_channel
salesChannel.configurationConfig entries for the sales channelsales_channel
salesChannel.activeSpecifies whether the sales channel is activesales_channel
salesChannel.maintenanceMaintenance modesales_channel
salesChannel.maintenanceWhiteListMaintenance mode whitelistsales_channel
salesChannel.customFieldsSales channel additional fieldssales_channel_translation
salesChannel.translationsTranslations of the sales channel fields. A dot can be placed after translations to access further fields.sales_channel_translation
salesChannel.currenciesSales channel currenciessales_channel_currency
salesChannel.languagesSales channel languagessales_channel_language
salesChannel.countriesSales channel countriessales_channel_country
salesChannel.paymentMethodsSales channel payment methodssales_channel_payment_method
salesChannel.shippingMethodsSales channel shipping methodssales_channel_shippingMethod
salesChannel.createdAtWhen was the sales channel createdsales_channel
salesChannel.updatedAtWhen was the sales channel updatedsales_channel
salesChannel.themesWhich theme is assigned to the sales channeltheme_sales_channel
salutation.idUUID of the salutation     
salutation.salutationKeyTechnical name of the salutationsalutation
salutation.displayNameName of the salutationsalutation_translation
salutation.letterNameAddress by lettersalutation_translation
salutation.translationsTranslations of the salutation fields. A dot can be placed after translations to access additional fields.salutation, salutation_translation
salutation.createdAtWhen was the salutation createdsalutation
salutation.updatetAtWhen was the salutation updatedsalutation
tagsCustomer tagscustomer_tag
titleTitlecustomer
updatedAtWhen was the customer updatedcustomer

Object type - "Categories"

Only a complete profile can be saved. This contains at least the following mandatory fields: idtypename.

Special id: When creating a new entry, the ID is generated by the system. Therefore, the column should remain empty when creating a new one.

Database entryDescriptionDatabase table
activeIndicates whether the category is activecategory
afterCategoryIdUUID of the category before this categorycategory
afterCategoryVersionIDVersion of the category before this categorycategory
autoincrementUnique decimal numbercategory
childCountNumber of subcategoriescategory
cmsPage.idUUID of the deposited shopping experiencescategory
cmsPage.nameName of the deposited shopping experiencescms_page_translation
cmsPage.typeLayout Type of the stored shopping experiencescms_page
cmsPage.customFieldsShopping experiences Additional fieldscms_page_translation
cmsPage.lockedShopping experiencesmay not be edited.cms_page
cmsPage.translationsA dot can be placed behind translations to access additional fields.cms_page, cms_page_translation
cmsPage.previewMediaFields for preview picture of the world of experience. Behind previewMedia a dot can be set and thus further fields can be accessed.cms_page, media
cmsPage.createdAtWhen was the shopping experiences createdcms_page
cmsPage.updatedAtWhen was the shopping experiences updatedcms_page
idUUID of the category.
When creating a new ID, the system generates it. Therefore, the column should remain empty.
category
levelCategory levelcategory
mediaFields of the category display image. A dot can be placed after media to access further fields.category, media
parentFields of the parent category. A dot can be placed after parent to access further fields.category, category_translation, media
pathPath to categorycategory
productsUUID of the products deposited in the category, separated by fine "Pipe" symbol (|)product_category
tagsCategory tagscategory_tag
translations.DEFAULT

e.g.
translations.de_DE.name
translations.de_DE.description
translations.en_GB.keywords
All Language dependent category fields. DEFAULT can be replaced by the language and the respective field can be accessed by a subsequent period. For instance translations.en-GB.namecategory, category_translation
typeCategory typecategory
versionIdUUID which indicates the version of the category.category
visibleHide in the navigationcategory

Object type - "Orders"
 

Only a complete profile can be saved. This contains at least the following mandatory fields: id, salesChannelId, orderDateTime, stateId.

Database entryDescriptionDatabase table
affiliateCodePartner Codeorder
amountNetNet amountorder
amountTotalTotal amountorder
autoIncrementUnique decimal numberorder
billingAddress.additionalAddressLine1Address addition to the billing addressorder_address
billingAddress.additionalAddressLine2Address addition to the billing addressorder_address
billingAddress.cityCity of the billing addressorder_address
billingAddress.companyCompanyorder_address
billingAddress.countryCountryorder_address
billingAddress.country.activeCountry is activecountry
billingAddress.country.checkVatIdPattern country
billingAddress.country.companyTaxCompany taxcountry
billingAddress.country.companyTaxFreeCompany is tax freecountry
billingAddress.country.customerTaxCustomer taxcountry
billingAddress.country.displayStateInRegistrationRegion is displayed in the registrycountry
billingAddress.country.forceStateInRegistrationRegion is requiredcountry
billingAddress.country.idBilling address IDorder_address
country
billingAddress.country.isoISO-Codecountry
billingAddress.country.iso3ISO 3-Codecountry
billingAddress.country.positionPositioncountry
billingAddress.country.salesChannelsSales channel IDsales_channel_id
billingAddress.country.shippingAvailableBilling address available for shippingcountry
billingAddress.country.taxFreeTax freecountry
billingAddress.country.translated country_state_translation
billingAddress.country.translations.DEFAULT.

bsp.
billingAddress.country.translations.de-DE.country
billingAddress.country.translations.en-GB.country
  
billingAddress.country.vatIdPattern  
billingAddress.country.vatIdRequiredVat requiredcountry
billingAddress.countryIdbBilling address IDorder_adress
billingAddress.countryState.activeState is activecountry_state
billingAddress.countryState.shortCodeShortcodecountry_state
billingAddress.countryState.translated  
billingAddress.countryState.translations

bsp.
billingAddress.countryState.translations.de-DE.countryState
billingAddress.countryState.translations.en-GB.countryState
  
billingAddress.countryStateIdState IDorder_adress
country_state
billingAddress.createdAtWhen the billing address was createdorder_adress
billingAddress.customFieldsCustom fieldsorder_adress
billingAddress.departmentDepartmentorder_adress
billingAddress.firstNameFirst nameorder_adress
billingAddress.idUUID if the addressorder_adress
billingAddress.lastNameLast nameorder_adress
billingAddress.order.affiliateCodePartner codeorder
billingAddress.order.amountNetNet amountorder
billingAddress.order.amountTotalTotal amountorder
billingAddress.order.autoIncrementUnique decimal numberorder
billingAddress.order.billingAddressIdBilling address IDorder
billingAddress.order.billingAddressVersionIdUUID, which indicates the version of the billing addressorder
billingAddress.order.campaignCodeCampaign codeorder
billingAddressIdUUID of the billing addressorder
billingAddressVersionIdUUID, which indicates the version of the billing addressorder
campaignCodeCampaign codeorder
createdAtWhen the order was createdorder
createdBy.

bsp.
createdBy.admin
createdBy.firstName
Created byorder
currency.translated curreny_translation
currency.factorCurrency factorcurrency
currency.idCurreny IDorder
currency.isSystemDefaultSystem default currency 
currency.isoCodeISO-codecurrency
currency.itemRoundingDecimal placecurrency
currency.positionPositioncurrency
currency.salesChannelsCurrency of Sales channelsales_channel_currency
currency.symbolSymbol of the currencycurrency
currency.taxFreeFromTax free fromcurrency
currency.translated

e.g.
currency.translations.de-DE.createdAt
currency.translations.en-GB.createdAt
 curreny_translation
currencyFactorCurrency factororder
currencyIdCurrency IDorder
currency
customFieldsCustom fieldsorder
customerCommentCustomer commentorder
deepLinkCodeCode for deep linkorder
deliveries.createdAtCreated atorder_delivery
deliveries.customFieldsCustom fieldsorder_delivery
deliveries.idLieferung IDorder_delivery
deliveries.order 
deliveries.orderIdUUID of orderorder_delivery
deliveries.orderVersionIdUUID, which indicates the version of the orderorder_delivery
deliveries.positionsDelivery positionorder_delivery_position
deliveries.shippingCostsShipping costsorder_delivery
deliveries.shippingDateEarliestShipping date earliestorder_delivery
deliveries.shippingDateLatestShipping date latestorder_delivery
deliveries.shippingMethodShipping methodorder_delivery
deliveries.shippingMethodIdShipping method IDorder_delivery
deliveries.shippingOrderAddressShipping order address 
deliveries.shippingOrderAddressIdShipping order address IDorder_delivery
deliveries.stateIdID of stateorder_delivery
deliveries.stateMachineState.Order statusstate_machine_state
deliveries.trackingCodesPartner codeorder_delivery
deliveries.updatedAtUpdated atorder_delivery
deliveries.versionIdDelivery version IDorder_delivery
idIDorder
itemRoundingDecimal placescurrency
language.

bsp.
language.id
language.locale
Diverse language informationlanguage
languageIdUUID of languageorder
lineItems order_line_item
orderCustomer.companyCompanyorder_customer
createdBy.recoveryUser.user.aclRoles  


Object type - "Media"

Only a complete profile can be saved. This contains at least the following mandatory fields: id.

Database entryDescriptionDatabase table
avatarUserFields for the user to which this picture is assigned as avatar. Behind avatarUser a dot can be set and thus further fields can be accessedmedia
fileExtensionFile extensionmedia
fileNameFile namemedia
fileSizeFile sizemedia
idUUID of the media file.
When creating a new ID, the system generates it. Therefore, the column should remain empty.
media
mediaFolder.childCountNumber of subfoldersmedia_folder
mediaFolder.configuration.createThumbnailsGenerate thumbnails for this foldermedia_folder_configuration
mediaFolder.configuration.createdAtWhen were the folder settings created.media_folder_configuration
mediaFolder.configuration.customFieldsAdditional fields for the folder settingsmedia_folder_configuration
mediaFolder.configuration.idUUID of the configurationmedia_folder
mediaFolder.configuration.keepAspectRationKeep aspect ratiomedia_folder_configuration
mediaFolder.configuration.mediaThumbnailSizesThumbnail sizemedia_folder_configuration
mediaFolder.configuration.thumbnailQualityThumbnail qualitymedia_folder_configuration
mediaFolder.configuration.updatedAtWhen were the folder settings updatedmedia_folder_configuration
mediaFolder.createdAtWhen were the folder createdmedia_folder
mediaFolder.customFieldsMedia folder additional fieldsmedia_folder
mediaFolder.defaultFolderfields to the default location. Behind defaultFolder a dot can be set and thus further fields can be accessed.media_folder, media_default_folder
mediaFolder.idUUID of the folder where the media file is locatedmedia
mediaFolder.nameFolder namemedia_folder
mediaFolder.parentFields to the folder above this folder. A dot can be placed after parent to access further fields.media_folder
mediaFolder.updatedAtWhen the folder was updatedmedia_folder
mediaFolder.useParentConfigurationAdopt settings from the superordinate foldermedia_folder
mediaTpeMedia typmedia
metaDataMeta data of the mediamedia
mimeTypeInternet media typemedia
tagsMedia tagsmedia_tags
translations.DEFAULT'

e.g.
translations.de-DE.alt
translations.de-DE.title
All language dependent media fields. DEFAULT can be replaced by the language and the respective field can be accessed by a subsequent period. For instance translations.en-GB.old 
uploadedAtWhen the media file was uploadedmedia
urlURL to the media filewird generiert
user.Fields of the user who uploaded the media file A dot can be set after user to access further fields.user

Object typ - "Newsletter recipients"

Only a complete profile can be saved. This contains at least the following mandatory fields:  idemailstatushashsalesChannelId.

Database entryDescriptionDatabase table
cityCity of newsletter recipientnewsletter_recipient
confirmedAtWhen was the newsletter recipient confirmednewsletter_recipient
createdAtWhen was the newsletter recipient creatednewsletter_recipient
customFieldsAdditional fields of the newsletter recipientsnewsletter_recipient
emailEmail of the newsletter recipientnewsletter_recipient
firstNameFirst name of the newsletter recipientnewsletter_recipient
hashHash value to confirm the newsletter recipientnewsletter_recipient
idUUID of the newsletter recipientnewsletter_recipient
languageFields for the language of the newsletter recipient. A dot can be placed behind language to access further fields.newsletter_recipient, language, 
salesChannelFields of the sales channel in which the newsletter recipient is registered. Behind salesChannel a dot can be set and thus further fields can be accessed.newsletter_recipient, sales_channel
salutationfields of the salutation of the newsletter recipient is registered. A dot can be placed behind salutation to access further fields.newsletter_recipient, salutation
statusStatus of newsletter recipientnewsletter_recipient
streetStreet of the newsletter recipientnewsletter_recipient
tagsTags of the newsletter recipientnewsletter_recipient_tag
titleTitle of newsletter recipientnewsletter_recipient
updatedAtWhen was the newsletter recipient updatednewsletter_recipient
zipCodePostcode of the newsletter recipientnewsletter_recipient

Object type - "Properties"

Only a complete profile can be saved. This contains at least the following mandatory fields:  idgroupIdname.

Database entryDescriptionDatabase table
colorHexCodeColor code of the color stored in the property.property_group_option
group.displayTypeDisplay of the characteristic selectionproperty_group
group.idUUID of the property groupproperty_group
group.sortingTypeSorting the property groupproperty_group
group.translations.DEFAULT


e.g.
group.translations.de-DE.description
group.translations.en-GB.
All language-dependent fields of the property group. DEFAULT can be replaced by the language and the respective field can be accessed with a subsequent period. For instance group.translations.en-GB.descriptionproperty_group_translations
idUUID of the property valueproperty_group_option
mediaFields of the default picture of the property profile. A dot can be placed after media to access other fields.property_group_option,
media
productOptionsUID of the variants that use this property valueproduct_option
productPropertiesUUID of the products to which this property value has been assigned as a property. product_property
translations.DEFAULT

e.g.
translations.de-DE.name
translations.en-GB.position
All language-dependent fields of the property value. DEFAULT can be replaced by the language and the respective field can be accessed with a subsequent period. For instance, translations.en-GB.nameproperty_group_option_translation

Object type - "Variant configuration"

Only a complete profile can be saved. This contains at least the following mandatory fields: idproductidoptionid.

Database entryDescriptionDatabase table
createdAtWhen was variant configuration createdproduct_configurator_setting
customFieldsVariant configuration of additional fieldsproduct_configurator_setting
idUUID of variant configurationproduct_configurator_setting
mediaMedia fields of the property pictures from the storefront viewproduct_configurator_setting
option.idUUID of the property valueproperty_group_option
option.groupFields of the property group of the property attribute. You can set a period after group and thus access other fields.property_group_option, property_group
option.IdUUID of the property valueproperty_group_option
option.mediaFields on the screen for the characteristic value.
A dot can be placed after media to access other fields.
property_group_option, media
option.productOptionsUUID of variants that use this optionproduct_option
option.propertiesUUID of the products to which this option has been assigned as a property.product_property
option.translations.DEFAULT

e.g.
translations.de-DE.name
translations.en-GB.position
All language-dependent fields of the property value. DEFAULT can be replaced by the language and the respective field can be accessed with a subsequent period. For instance, translations.en-GB.nameproperty_group_option_translation
positionPosition in the storefront displayproduct_configurator_setting
price.DEFAULT.netNet surcharge. DEFAULT can be replaced by the respective currency. For instance EURproduct_configurator_setting
price.DEFAULT.grossGross mark-up. DEFAULT can be replaced by the respective currency. For instance EURproduct_configurator_setting
price.DEFAULT.currencyIdUUID of the currency. DEFAULT can be replaced by the respective currency. For instance EURproduct_configurator_Setting, currency
price.DEFAULT.linkedIndicates whether the net and gross price are linked. DEFAULT can be replaced by the respective currency. For instance EURproduct_configurator_setting
price.DEFAULT.listPriceExtended prices. DEFAULT can be replaced by the respective currency. For instance EURproduct_configurator_setting
productFields of the product to which variant configuration is assignedproduct_configurator_setting
updatedAtWhen was variant configuration updatedproduct_configurator_setting

Object type - "Cross-Selling"

Only a complete profile can be saved. This contains at least the following mandatory fields: idproductidoptionid.

Special id: When creating a new entry, the ID is generated by the system. Therefore, the column should remain empty when creating a new one.

Database entryDescriptionDatabase table
activeactiveproduct_cross_selling
assignedProductsProduct ID of the assigned productproduct_cross_selling_assigned_products
idID of the product recommendation.
When creating a new ID, the system generates it. Therefore, the column should remain empty.
product_cross_selling
limitMaximum number of productsproduct_cross_selling
positionNumerical valueproduct_cross_selling
product.activeProduct is activeproduct
product.autoIncrementUnique numerical valueproduct
product.availableProduct is availableproduct
product.availableStockAvailabe stockproduct
product.canonicalProduct.

diverse Optionen
A point can be placed behind canonicalProduct and thus additional fields can be accessed.product
product.canonicalProductId product
product.categoriesUUID of categoryproduct
product.categoriesRo  
product.categoryIdsID of categoryproduct
product.categoryTreeIDs of the categoriesproduct
product.cheapestPriceCheapest priceproduct
product.childCountNumber of variantsproduct
product.cmsPage.translations.DEFAULT

e.g.
product.cmsPage.translations.de-DE.cmsPage
product.cmsPage.translations.en-GB.cmsPage
 cms_page_translation
product.cmsPage.configConfigurationcms_page
product.cmsPage.entityObjectcms_page
product.cmsPage.idIDproduct
product.cmsPage.lockedLockedcms_page

Object type - "Promotions"

Only a complete profile can be saved. This contains at least the following mandatory fields: idproductidoptionid.

Database entryDescriptionDatabase table
activeIndicates whether the promotion is activepromotion
codeThe activation code for the discount promotionpromotion
use.codesIndicates whether an activation code is usedpromotion
idID of the promotion discountpromotion_discount
promotion.idPromotion IDpromotion, promotion_discount
scopeDefines the range where the discount is appliedpromotion_discount
typeDetermines the type of discount deductionpromotion_discount
valueDiscount valuepromotion_discount
consider.advanced.rulesIndicates whether extended rules are included in the discount promotionpromotion_discount
max.valueIndicates the maximum value of the discount that will be grantedpromotion_discount
discount.rulesIndicates whether rules are stored in the discountpromotion_discount
applier.keyIndicates how many items receive the discountpromotion_discount
sorter.keyIndicates whether the price is sorted in ascending or descending orderpromotion_discount
valid.fromFrom when is the promotion activepromotion
valid.untilUntil when the promotion is activepromotion

Object type - "Advanced prices"

Only a complete profile can be saved. This contains at least the following mandatory fields: id, productId, ruleId, quantityStart.

Database entryDescriptionDatabase table
createdAtWhen was the extended price createdproduct_price
idUnique UUID of the avanced price.product_price
price.DEFAULT

bsp.
price.EUR.currencyId
price.USD.gross
price.GBP.net
All fields for the price to be imported. DEFAULT can be replaced by the ISO code of the currency and by a following dot the respective field can be accessed. Ex. price.USD.grossproduct_price
product.DEFAULT

bsp. 
product.active
product.availableStock
product.categories
All product dependent fields of the product for which the extended prices apply. DEFAULT can be replaced by the field name to be accessed. Ex. product.idproduct
purchasePrices.DEFAULT

bsp.
purchasePrices.EU.currencyId
purchasePrices.USD.gross
purchasePrices.GBP.net
 
All fields for the purchase price to be imported. DEFAULT can be replaced by the ISO code of the currency and by a following dot the respective field can be accessed. Ex. price.USD.grossproduct
quantityEndMaximum quantity of the product that must be in the cart for this price to apply.product_price
quantityStartMinimum quantity of the product that must be in the shopping cart for this price to apply.product_price
ruleIdUnique UUID of the rule applied to this extended price.product_price
rule.DEFAULT

bsp.
rule.name
rule.priority
All fields for the used rule from the rule builder. DEFAULT can be replaced by the field name to be accessed. Ex. rule.namerule

Object type - "Promotion codes"
 

Database entryDescriptionDatabase table
promotion.activeActivepromotion
promotion.cartRulesCart rule for promotionpromotion_cart_rule
promotion.codePromotion Codepromotion
promotion.customerRestrictionCustomer restrictionpromotion
promotion.exclusionIdsIDpromotion
promotion.idUUIDpromotion
promotion.individualCodePatternCustom pattern for individual codepromotion
promotion.maxRedemptionsGlobal
Max. total uses
promotion
promotion.maxRedemptionsPerCustomer
Max. uses per customer
promotion
promotion.orderCountOrder countpromotion
promotion.orderRulesOrder rulepromotion_order_rule
promotion.personaCustomersInformation about promotion ID & customer IDpromotion_persona_customer
promotion.personaRulesInformation about promotion ID & rule IDpromotion_persona_rule
promotion.perventCombinatonPrevent combination with other promotionspromotion
promotion.translated.DEFAULT.

Example:
translations.de_DE.language
translations.de_DE.customFields.FiledName
translations.en_GB.name
All language-dependent fields of the property value. DEFAULT can be replaced by the language and the respective field can be accessed with a subsequent period. For instance, translations.en-GB.namepromotion_translation
codePromotion Codepromotion
createdAtCreated atpromotion
idUUIDpromotion
payloadInformation on the order ID, customer ID and customer namepromotion_individual_code
promotionIdUUIDpromotion_individual_code
updatedAtUpdated atpromotion

Importing products

You can start the import under Settings > Shop > Import/Export in the tab  

First you need to select the right profile (2) for the import. Select the Default product profile. Unlike other profiles, when you select this profile, a checkbox Import product variants will then be displayed. In this case you do not activate this checkbox. You can find out how to import product variants here.

Next, you need a CSV file that matches the selected profile. This CSV file should contain all products and required information including the correct column names. 

Once you have made entries in all fields, click on Start import (3).

Example CSV file

An example file for the Default product profile can be found here: Default product profile

This file contains the following columns, which you have to fill in accordingly:
 

idUnique UUID of the product. This field can be left empty and is automatically assigned during import.
parent_idUnique UUID of the parent product, if it is a variant article This field can also be left empty.
product_numberproduct number
active1 for active and 0 for inactive.
stockCurrent stock
nameProduct name
descriptionProduct description
price_netNet price
price_grossGross price
tax_idEnter the unique UUID of the tax rate here. If you call the configuration page of the respective headset, the ID is displayed in the address line. If you want to create a completely new tax rate, leave this field empty.
tax_rateTax rate value (e.g. 7 or 19)
tax_nameName of the tax rate (for example 7% or 19%)
cover_media_idIf you want to use an image as preview image, which is already in the Shopware installation, enter the UUID of this image here. You can find this in the database table media in the column id. If you want to import a new image, leave this field empty.
cover_media_urlURL to the image you want to use as preview image. This can also be an external URL outside the Shopware installation. 
The import of additional images is not included in the standard profile. For this purpose it is necessary to create a new product profile and add the database mapping "media".
cover_media_titleThe title under which the imported preview image should be saved internally.
cover_media_altAlternate text of the preview image
manufacturer_idIf you want to assign the item to a manufacturer that already exists in your store, enter the UUID of the manufacturer here. When you go to the configuration page of the respective manufacturer, the ID will be displayed in the address line. If you want to import a new manufacturer, leave this field empty.
manufacturer_nameIf you want to create a new manufacturer, enter the name of the new manufacturer here.
categoriesEnter the UUIDs of the categories to which the article should be assigned. When you go to the configuration page of the respective category, the ID will be displayed in the address line. If you want to assign several categories, separate the UUIDs with pipe symbols (|).
sales_channelsEnter the UUIDs of the sales channel to which the article should be assigned. When you go to the configuration page of the respective sales channel, the ID is displayed in the address bar. If you want to assign multiple channels, separate the UUIDs with pipe symbols (|).

After the import

If you receive a message that the import was successful, you can now view and edit the products under Catalogues > Products.

If the import fails, you will receive a message under the Start Import button telling you both the numbers of records that could be successfully imported and the failed imports from the CSV file.

You can now download the unimported entries as a new CSV file. This file contains only the incorrect records with the additional column _error. This column indicates why the import of this record failed. You can now correct this directly in the downloaded CSV file and then import the file again.

Import of newsletter recipients

You can start the import under Settings > Shop > Import/Export in the tab Import.

First you need to select the right profile (2) for the import. Select the default newsletter recipient profile.

Next, you need a CSV file that matches the selected profile. This CSV file should contain all newsletter recipient and required information including the correct column names.

Once you have made entries in all fields, click on Start import (3).

Example CSV file

An example file for the Default newsletter recipient profile can be found here: Default newsletter recipient profile

This file contains the following columns, which you have to fill in accordingly:
 

idUnique UUID of the recipient. This field can be left empty and is automatically assigned during the import.
emailRecipient's e-mail address
titleOptional title of recipient
salutationSalutation
first_nameFirst name
last_nameLast name
zip_codeZip code
cityCity
streetStreet
statusEnter the status for the recipient here. In the standard system only "direct" is used here. Some plugins can use other statuses.
hashThe hash value is used to ensure the correct registration. Enter a random unique hash value here.
sales_channel_idEnter here the UUIDs of the sales channel to which the article is assigned. When you go to the configuration page of the sales channel, the ID is displayed in the address bar. If you want to assign multiple channels, separate the UUIDs with pipe symbols (|).

After the import

If you receive a message that the import was successful, you can now view and edit the products under Marketing > Newsletter recipient.

If the import fails, you will receive a message under the Start Import button telling you both the numbers of records that could be successfully imported and the failed imports from the CSV file.

You can now download the unimported entries as a new CSV file. This file contains only the incorrect records with the additional column _error. This column indicates why the import of this record failed. You can now correct this directly in the downloaded CSV file and then import the file again.

Import of properties

You can start the import under Settings > Shop > Import/Export in the tab Import.

First you need to select the right profile (2) for the import. Select the default properties profile.

Next, you need a CSV file that matches the selected profile. This CSV file should contain all properties and required information including the correct column names.

Once you have made entries in all fields, click on Start import (3).

Example CSV file

An example file for the Default properties profile can be found here:  Default properties profile

This file contains the following columns, which you have to fill in accordingly:

idUnique UUID of property value This field can remain empty and is automatically assigned during import.
color_hex_codeColor code of the color stored in the property
nameProperty name
positionEach property has a position with which it is displayed in the admin.
group_idUnique UUID of the property group.
group_display_typeDisplay of the selection of characteristics
group_sorting_typeSorting the selection of characteristics. Here you can specify "alphanumeric", "numeric" and "position".
group_nameProperty group name
group_descriptionProperty group description (optional)
group_positionProperty group position (optional)
media_idIf you want to use an image as preview image, which is already in the Shopware installation, enter the UUID of this image here. You can find this in the database table media in the column id. If you don't want to use a thumbnail or import a new image, leave this field empty.
media_folder_idOptionally you can enter the UUID of the folder where the image to be used is located. If you go to the configuration page of the respective image folder under Content > Media, the ID will be displayed in the address bar. If you don't want to import an image, you can leave this field empty.
media_typeWhen exporting, this field contains properties of the used image. However, this can be left empty for import.
media_titleIf you want to import an image, enter the title of the image here. Alternatively you can leave this field empty.
medie_altIf you want to import an image, enter the alternative SEO title of the image here. Alternatively you can leave this field empty.

After the import

If you receive a message that the import was successful, you can now view and edit the products under Catalogues> Properties.

If the import fails, you will receive a message under the Start Import button telling you both the numbers of records that could be successfully imported and the failed imports from the CSV file.

You can now download the unimported entries as a new CSV file. This file contains only the incorrect records with the additional column _error. This column indicates why the import of this record failed. You can now correct this directly in the downloaded CSV file and then import the file again.

Import of categories

You can start the import under Settings > Shop > Import/Export in the tab Import.

First you need to select the right profile (2) for the import. Select the default category profile.

Next, you need a CSV file that matches the selected profile. This CSV file should contain all categories and required information including the correct column names.

Once you have made entries in all fields, click on Start import (3).

Example CSV file

An example file for the Default properties category can be found here: Default category profile

This file contains the following columns, which you have to fill in accordingly:

idUnique UUID of the category. This field can be left empty and is automatically assigned during import.
parent_idUnique UUID of the parent category under which this category should be sorted. If you go to the configuration page of the respective category under Content > Media, the ID is displayed in the address line.
active1 for active and 0 for inactive.
typeEnter the category type here. Page for a normal category, folder for a structural category and link for the category type Custom link.
visibleEnter here whether the category is hidden in the navigation. 1 for visible and 0 for hidden.
nameCategory name
external_linkEnter the external link here if you have selected link as type.
descriptionCategory description (optional)
meta_titleSEO meta title (Optional)
meta_descriptionSEO meta description (Optional)
media_idIf you want to use an image as display image for the category, which is already in the Shopware installation, enter the UUID of this image here. You can find this in the database table media in the column id. If you don't want to use a display image or import a new image, leave this field empty.
media_urlURL to the image you want to use as preview image.
media_folder_idOptionally you can enter the UUID of the folder where the image to be used is located. If you go to the configuration page of the respective image folder under Content > Media, the ID is displayed in the address line.
media_typeWhen exporting, this field contains properties of the used image. However, this can be left empty for import.
media_titleIf you want to import an image, enter the title of the image here. Alternatively you can leave this field empty.
mediea_altIf you want to import an image, enter the alternative SEO title of the image here. Alternatively you can leave this field empty.
cms_page_idUUID of the stored experience world. If you go to the configuration page of the respective adventure world under Contents > Adventure Worlds, the ID is displayed in the address line. If you do not want to use an adventure world, you can leave this field empty.

After the import

If you receive a message that the import was successful, you can now view and edit the products under Catalogues> Categories.

If the import fails, you will receive a message under the Start Import button telling you both the numbers of records that could be successfully imported and the failed imports from the CSV file.

You can now download the unimported entries as a new CSV file. This file contains only the incorrect records with the additional column _error. This column indicates why the import of this record failed. You can now correct this directly in the downloaded CSV file and then import the file again.

Import of media

You can start the import under Settings > Shop > Import/Export in the tab Import.

First you need to select the right profile (2) for the import. Select the default media profile.

Next, you need a CSV file that matches the selected profile. This CSV file should contain all required information including the correct column names.

Once you have made entries in all fields, click on Start import (3).

Example CSV file

An example file for the Default media profile can be found here: Default media profile

This file contains the following columns, which you have to fill in accordingly:

idUnique UUID of the media file. This field can be left empty and is automatically assigned during import.
folder_idHere you can specify the UUID of the folder where the image to be used is located. If you go to the configuration page of the respective image folder under Content > Media, the ID is displayed in the address bar.
urlEnter the URL of the medium you want to import here. This can also be an external URL outside the Shopware installation.
privateThis field may be used for plugins. For the standard import use "0" here.
typeThis field is used to store the metadata of the medium for export. For import you can leave this field empty.
titleImage title
altAlternative SEO titles

After the import

If you receive a message that the import was successful, you can now view and edit the products under Content> Media.

If the import fails, you will receive a message under the Start Import button telling you both the numbers of records that could be successfully imported and the failed imports from the CSV file.

You can now download the unimported entries as a new CSV file. This file contains only the incorrect records with the additional column _error. This column indicates why the import of this record failed. You can now correct this directly in the downloaded CSV file and then import the file again.
 

Import of advanced prices

You can start the import under Settings > Shop > Import/Export in the tab Import.

First you need to select the right profile (2) for the import. Select the default advanced prices profile.

Next, you need a CSV file that matches the selected profile. This CSV file should contain all required information including the correct column names.

Once you have made entries in all fields, click on Start import (3).

Example CSV-file

An example file for the Default advanced prices profile can be found here: Default advanced prices profile

This file contains the following columns, which you have to fill in accordingly: 
 

idUnique UUID of the advanced price from the product_price database. Since the import of extended PReises is not intended for creating extended prices, this field must not be left empty.
product_idUnique UUID of the product for which the extended price was set up.
rule_idUnique UUID of the rule applied to this extended price.
price_netNet price of the extended price
price_grossGross price of the extended price
quantity_startMinimum quantity of the product that must be in the shopping cart for this price to apply.
quantity_endMaximum quantity of the product that must be in the cart for this price to apply.

After the import

If you receive a message that the import was successful, you can now view and edit the products under Content > Media.

If the import fails, you will receive a message under the Start Import button telling you both the numbers of records that could be successfully imported and the failed imports from the CSV file.

You can now download the unimported entries as a new CSV file. This file contains only the incorrect records with the additional column _error. This column indicates why the import of this record failed. You can now correct this directly in the downloaded CSV file and then import the file again.

Import of product variants

The following 4 steps are necessary to import variants:

Step 1: importing products

In the first step it is necessary to import the products for which you want to import new variants.
If you want to import variants for already existing products, you can skip this step.

In the attached CSV file you enter the new products. Leave the column id and parent_id empty. These are generated by the system or are not required in this case. Then import this file in the Import/Export module with the default product profile.

Default product profile.csv

Step 2: importing properties

The next step is to import the properties on the basis of which the variants are to be created. If you have already created the properties you want to use, you can skip this step.

You can use the attached CSV file to import new properties. Leave the id column empty so that it is generated during the import. In the column group_id you enter the UUID of the property group. You can find this in the address line of the browser when you call up the property group in the Shopware Admin.

Alternatively, you can also get them if you export the properties using the default properties profile.

If you leave this column empty, the property group will also be recreated by the import and a UUID will be created for this group. Once you have filled the CSV file, import it in the Import/Export module with the default properties profile.

Default properties profile.csv

Step 3: import variant configuration

Once products and properties are available, they must be linked in the form of variant configurations in order to be able to create the variants in a later step. In the attached CSV file you enter the option_id. This is the automatically created UUID of the properties. You will get this ID if you export the properties from the last step again.
Then enter the product_id. This is the UUID of the main products for which variants are to be created. You can find this in the address bar of your browser when you call up the products in the Shopware Admin.

Alternatively, you can also get them if you export the properties using the default variant configuration settings profile.

Just leave the id column blank and import it in the Import/Export module with the default variant configuration settings profile.

default variant configuration settings profile.csv

Step 4: generate or import variants

Please bear in mind that you can import or alternatively generate the variantes. Just pick the way that suits you best.

Import variants

With the previous steps you have prepared the variants so far that you now only need to import them. To be able to import variants you need the default product profile and the checkbox import product variants must be checked.

Mandatory fields for the import of the variants in the profile are parent_id, this results from the ID of the main article, product_number, is the desired article number of the variant, active, must be either 0 or 1, stock, gives the stock and optionIds, result from the ID's of the
properties and can be enumerated with |.

Default product.csv

Generate variants

With the previous steps you have prepared the variants so far that you now just need to generate them. 
Open the product for which you have imported the variants in the Shopware Administration and open the tab generate variants, click on generate variants (1).

In the window that opens, click on generate variants (1).

Import of customers

You can start the import under Settings > Shop > Import/Export in the Import tab.

As profile (2) for the import you first select the profile default customer. 

Next, you need a CSV file (1) that matches the selected profile. This CSV file should contain all media and necessary information with the correct column names. 

When you have filled in all fields, click on Start Import (3).
 

Example CSV file

An example file for the default profile customer can be found here: Default profile customer.

This file contains the following columns, which you fill in accordingly: 
 

idUnique UUID of the customer file. This field can be left empty and is automatically assigned during the import.  
account_typeHere you can specify the account type of the customer. In the example CSV this is set to private, because it is a private customer.  
salutationEnter here the Andrede of the customer.   
customer_numberThis field is used for the customer number.  
first_nameThe first name of the customer is entered in this field.  
last_nameThe last name of the customer is entered in this field.  
emailE-mail address of the customer.  
guestA boolean value must be entered here. 0 if it is not a guest customer and 1 if it is a guest customer.  
customer_groupDefines the customer group  
languageDefines the language of the customer  
sales_channelIndicates from which sales channel the order was placed.  
payment_methodPayment type  
billing_idInvoice ID  
billing_salutationSalutation in the invoice  
billing_titleTItel of the invoice  
billing_first_nameFirst name of the invoice holder  
billing_last_nameLast name of the payer  
billing_companyCompany of the biller  
billing_streetStreet address of the invoice  
billing_zipcodeZip code of the billing address  
billing_cityCity of the billing address  
billing_countryBilling country  
billing_phone_numberPhone number of the billing address  
shipping_idShipping ID  
shipping_salutationSalutation for shipping  
shipping_titleTitle/name for shipping  
shipping_first_nameFirst name for shipping address  
shipping_last_nameLast name for shipping address  
shipping_companyCompany of the shipping address  
shipping_streetStreet of the shipping address  
shipping_zipcodePostal code of the shipping address  
shipping_cityCity of the shipping address  
shipping_countryCountry of dispatch  
shipping_phone_numberTelephone number of the shipping agent  

After the import

If you receive a message that the import was successful, you can now view and edit the products under Content > Media.

If the import fails, you will receive a message under the Start Import button telling you both the numbers of records that could be successfully imported and the failed imports from the CSV file.

You can now download the non-imported records as a new CSV file. This file then contains only the incorrect records with the additional column _error. In this column you can see why the import of this record failed. You can now correct this directly in the downloaded CSV file and then import the file again.






Import/Export of Item Translations

Before an import to the live-system is done, you should create a database backup. In any case the import should be tested in a test- or staging-system. 

When importing item translations we have to keep in mind, to include the correct languageId for the translations. This id can be found in the table product_translation. All language-dependent fields of the property value. DEFAULT can be replaced by the language and the respective field can be accessed with a subsequent period. For instance, translations.en-GB.name. 

Provided fields incl. description

field namedescription
translations.DEFAULT.productIdid of the product
translations.DEFAULT.languageIdid of the language
translations.DEFAULT.nametranslation of the name
translations.DEFAULT.keywordskeywords, relevant for the shopware search
translations.DEFAULT.customFields
translations.DEFAULT.createdAt 
translations.DEFAULT.updatedAt 
translations.DEFAULT.packUnit
translations.DEFAULT.productVersionId 
translations.DEFAULT.metaTitle
translations.DEFAULT.description 
translations.DEFAULT.metaDescription 
translations.DEFAULT.slotConfig 
translations.DEFAULT.packUnitPlural 

This is the profile for item translations and contains all translatable item fields. You can add a new profile by selecting the product object type and adding the mappings for translation accordingly. 

Here you can download the profile: profile_item translations.csv
You get an example csv-file here: item translations example file.csv

Import of multiple product images

The product import or product export can be extended so that other media can be imported in addition to the cover image of the product. In the following, we explain the simple steps you can take to implement this. 

Step 1: Duplicate and expand the standard profile.

If you have not already done so, open Settings > Shops > Import / Export > Profiles.

Click on the three dots behind Default product and select Duplicate. In the new window, change the profile name so that you can see what function the profile has. In this case, for example, "Product profile with additional images". Then switch to the Mappings tab. 
We need to add a new field to the profile. To do this, click on Add new mapping, which adds a new line in the first place. 

The CSV name is the column header under which the new field is displayed in the file. You can assign this name freely. If the file is to be used for exchange with other software, it may be necessary to use a predefined name.
In the field Database entry select media. This is the field from which Shopware will take the data for export or into which the data will be inserted during import. Therefore, only entries that Shopware supports are available in the dropdown list.
Leave the other settings as they are suggested.
Now you can save the profile
The new profile is now displayed in the list of profiles with the type Custom and the name you gave it.

Step 2: Import additional product images

If you have already created products with several assigned images, you can test a product export with the profile you have just created. In the file you can see how the data must be provided for the import.
You will find the mapping we added as the first column in the file. 
Now enter valid URLs in the media column or with the name you have given according to this pattern:

http://example.com/example1.png|http://example.com/example2.png

The image URLs are separated from each other by the pipe character "|". Make sure that the files do not contain spaces or umlauts. The directory in which you provide the media files for the import must have suitable directory rights so that the import can copy and import the files into the Shopware media.

If the specified files already exist in media, they will not be duplicated.

If you are working with the import/export for the first time, first test with only a few products whether your changes are carried out as desired. Alternatively, create a test environment.
Once you have edited and saved your file, open the Import tab.

Click on Choose file to select it for import and select the profile we created in the first step. If your file contains variants, activate the Import product variants slider. 
If you only want to check the file first, you can do this with Start dry run. Shopware will perform the same steps as the regular import, but no data will be written to the database tables. For a complete run, select Start import.
Under Import activity, an entry is made for each of the actions that shows you, among other things, whether the import was successful or failed.
In case of failure, use the entry Download invalid records. On the far right of the file you will find a short note explaining why the import of the data set failed. 

Always check the entry under Import activity when you are informed via the notifications that the import has been completed. The note does not necessarily mean that the process was successful.

Import/Export Assigning Custom Products templates

It is possible to assign an existing custom products template to other products via import/export.

Step 1: Assign product

First select a product and assign the desired Custom Products template to it.

Step 2: Copy profile

Go to Settings > Import/Export > Profiles and copy the existing standard profile for custom products.

Step 3: Edit profile

Go to Assignments in the profile and map 2 new fields. Then give these fields the following two database entries:

  • swagCustomizedProductsTemplate.internalName 

  • swagCustomizedProductsTemplate.id

Step 4: Export profile:

Export the profile and you should notice that the values have been assigned in the two leftmost columns.

Step 5: Import

Copy these values and paste them into other products. Then save and import the profile again.

The custom products template is then assigned to the products via import.

Was this article helpful?