Platform support
Import products into Shopware with the Default product CSV
Shopware 6 imports products from a CSV that matches a profile. For a product that is not a variant, the article says to select the Default product profile and leave Import product variants unchecked. The example file linked from that section is semicolon-separated, and a new product leaves id empty.
Which columns does the Default product profile example file use?
The article says a successful import needs UTF-8, a semicolon between fields, and quotation marks as the string separator. A new profile’s separator defaults to a semicolon. Decimal places in a price use a point. The article’s example is 5.00 rather than 5,00, and it says a comma will not import a price whose database entry is price.
The example CSV linked as Default product profile was retrieved on 1 November 2026. Its header is id, parent_id, product_number, active, stock, name, description, price_net, price_gross, tax_id, tax_rate, tax_name, cover_media_id, cover_media_url, cover_media_title, cover_media_alt, manufacturer_id, manufacturer_name, categories, and sales_channel. The article’s column table writes the last name as sales_channels. The file uses sales_channel. Keep the header from the file you download. The sample data row uses the product number SWTEST, active 1, stock 1, price_net 9.35, price_gross 10, tax_rate 7, and tax_name 7%. Replace that row. The tax_id in it belongs to the sample, not to your shop. id and parent_id are empty on that row. The article says id can be left empty and is assigned during import, and parent_id can be left empty when the row is not a variant. active is 1 or 0. categories takes category UUIDs from the category configuration page, separated by a pipe when there is more than one. The article says the same pipe separation for several sales channels.
id;product_number;active;stock;name;price_gross
;MUG-04;1;12;Travel mug;18.00Which names are database entries rather than CSV headers?
A complete product profile, in the database-entry section, has to include at least id, taxId, productNumber, stock, and name before it can be saved. Those are database entries. The example file’s headers include product_number and tax_id, which are different strings. The profile mapping is where a CSV column name is assigned to a database entry. This page does not rename taxId to tax_id, or productNumber to product_number. For a new product, the article says the id column stays empty because the system generates it. Using productNumber instead of the UUID is a choice on the profile’s Advanced Settings tab. Until you change that second identifier, the article says the import matches a row to an existing record by UUID.
An import can add information and cannot remove it. The article’s example is a sales-channel assignment, which an import cannot clear. Additional images are not part of the standard profile. The article says to create a new product profile and add the database mapping media. The CSV name for that mapping is one you choose on the profile. This page does not invent that column name. cover_media_url, cover_media_id, cover_media_title, and cover_media_alt are the preview-image columns in the example file that loaded.
How do you import the product CSV without importing variants?
- Open Settings, then Automation, then Import/Export. The product section leaves the tab name in a figure. The newsletter section of the same article calls that tab Import. Select Default product profile. Leave Import product variants unchecked when these rows are not variants.
- In Golanto, choose Shopware and record the shop and the date you checked the article and the example file. Map your columns onto that file’s header. Separate fields with a semicolon, put quotation marks around a value that contains a semicolon, and save UTF-8. Write prices with a dot.
- Leave id empty for a new product, and leave parent_id empty when the row is not a variant. Do not put a category name in categories. That column takes UUIDs. Leave tax_id empty only when you are creating a new tax rate, which is the case the article describes. Otherwise tax_id is the UUID from that tax rate’s configuration page.
- Start the import and read the message under the button. After a successful import, the article says the products are under Catalogues, then Products. If rows fail, download the CSV of unimported entries. It adds an _error column. Correct those rows and import that file again. Import activity lists imports from the last 30 days.
- Variant rows are a later file. The article says to check Import product variants for that import, and it names parent_id, product_number, active, stock, and optionIds as the mandatory fields. The variant example file linked from that section adds propertyIds and optionIds after sales_channel. propertyIds is in that file. The article does not list it among those mandatory fields.
Worked example
A comma price is not a Shopware Default product profile price
sku,title,price
MUG-04,Travel mug,"18,00"These headings are a supplier sketch. The Default product profile example file is semicolon-separated. Its header includes product_number, active, stock, name, and price_gross, and it ends in sales_channel. The article’s table writes sales_channels. id stays empty for a new product. active 1 means active. 18.00 uses a dot because the article says a comma does not import a price correctly. The sketch leaves out tax_id, categories, and the other columns in the example header. Those values come from the shop. Do not copy the sample row’s product number SWTEST or its tax UUID.
What this check cannot establish
Golanto does not import into Shopware or look up tax, category, manufacturer, or sales-channel UUIDs. This page uses the English Shopware 6 article Settings - Import/Export and the two example CSVs it links, retrieved on 1 November 2026. It names the Default product profile header from the file that loaded. It does not copy the database-entry table, and it does not treat taxId or productNumber as CSV headers. A profile can assign a different CSV name. Customer, newsletter, property, category, media, and advanced-price profiles are different files. The product section says the menu is Settings, then Automation, then Import/Export. The identifier section says Settings, then Import/Export. Follow the menu in the administration you have open. Spreadsheet programs can change separators and leading zeros. The article names Open Office Calc as a program that writes a native CSV. The text in an _error cell is Shopware’s. This page does not quote one.
Check your file
Start with a copy. Review changes before downloading your import file.
Open the template mapperOfficial references
Common questions
Can the Shopware id column be empty for a new product?
Yes. The example file leaves id empty, and the article says the UUID is assigned during import. Leave parent_id empty when the row is not a variant. Matching an existing product by product number depends on the profile’s second unique identifier, which the article places under Advanced Settings. Until that is changed, the article says the import uses the UUID.
Why is 18,00 the wrong price in this Shopware file?
The article says price decimals use a point, and it shows 5.00 rather than 5,00. A comma does not import that price correctly. The example file’s own prices are 9.35 and 10. The sketch uses 18.00 in price_gross for the same reason.