How to turn a supplier spreadsheet into a Shopify product CSV
Usually you can't import a supplier's spreadsheet into Shopify as it is. Shopify only reads its own column names, and a supplier file has different ones, a wholesale price instead of your price, and one row per size or colour. The free converter fixes all three in your browser, and you can try it with a sample file first.
Begriffe in dieser Anleitung
- CSV
- A simple spreadsheet file saved as plain text. Shopify imports products from a CSV file.
- Variant
- One version of a product that customers choose, such as a cushion cover in Sand, 45 x 45 cm. One product can have many variants.
- SKU
- Your stock code for one variant. Suppliers often call it item number or article number.
- URL handle
- The end of a product's web address, such as linen-cushion-cover. In the CSV, rows with the same handle are one product.
In sechs Schritten von der Lieferantendatei zu Shopify
1Upload the supplier's file
Open the converter and choose the file. CSV and Excel (.xlsx) both work. Many supplier files have a title above the column names, like our sample. The converter skips it and finds the column names itself. If it picks the wrong row, change “Header row”.
Im Konverter:Datei auswählenBeispieldatei testenKopfzeile2Check the matched columns
The converter matches columns by their names, in English and Chinese. For example, “Item No.” becomes SKU and “Product Name” becomes Title. Under “Match columns”, each Shopify column shows an example from your file, so you can see the result before you convert. If a match is wrong, choose another column. Columns you don't need, like Carton Qty, are not imported.
Im Konverter:Spalten zuordnenNicht importieren3Set your selling price
A supplier file has your cost, not the price customers pay. The converter puts the wholesale price in Cost per item, which customers never see. Price stays empty until you set it. Open “Pricing”, choose the wholesale price column for Price, enter 2.5 in “Multiply by” and choose “Ending in .99” in “Round to”. A wholesale price of 8,90 becomes 22.99.
Im Konverter:PreiseMultiplizieren mitRunden aufEndet auf .994Group sizes and colours into products
In a supplier file, each row is usually one variant. Rows of the same product share a style or model number. Under “How are products organized?”, choose “One variant per row, grouped by a column”, then choose that column in “Group rows by”. If the file has a column like Style No. or Model, this is already done for you. Colour and Size become the options customers choose from.
Im Konverter:Wie sind die Produkte organisiert?Eine Variante pro Zeile, gruppiert nach einer SpalteZeilen gruppieren nach5Convert and check the result
Select “Convert file”. You'll see how many products, variants and images were made, and the first rows of the Shopify file. Then select “Next: check and fix”. The checker looks for problems that would stop the import or spoil your data, and can fix the common ones for you.
Im Konverter:Datei konvertierenWeiter: prüfen und beheben6Save it as a template for next time
Suppliers send new price lists often. With Skuvera Pro, select “Save as template”. It keeps only the column names and your rules, not your products. Next time, a file with the same or similar columns uses your settings automatically, even if the supplier added or removed a column. Without Pro, your browser remembers the settings you used last.
Im Konverter:Als Vorlage speichern
So werden die Spalten des Beispiels zugeordnet
This is how the converter matches the sample price list on its own, before you change anything. Your supplier's column names may be different. The converter knows many common names, and you choose the rest yourself once.
Style No. → Fasst Zeilen zu Produkten zusammen
Rows with the same style number become one product.
Item No. → SKU
Each row's item number becomes the SKU of that variant.
Product Name → Title, URL handle
The name becomes the product title. The URL handle is made from it: Linen Cushion Cover becomes linen-cushion-cover.
Description → Description
Copied as it is. Shopify shows it on the product page.
Category → Type
Only the last level is kept: Home > Textiles > Cushion Covers becomes Cushion Covers.
Brand → Vendor
The brand becomes the vendor.
Colour → Option1 name, Option1 value
The column name becomes the option name, and each row's colour becomes the option value.
Size → Option2 name, Option2 value
The same for sizes, as the second option.
EAN → Variant Barcodes
The barcode is copied. The checker later makes sure each barcode is valid.
Wholesale Price (EUR) → Cost per item
This is your cost. 8,90 is read as 8.90. Price stays empty until you set a price rule (step 3).
Stock → Inventory quantity
The stock becomes the quantity. Shopify tracks it and stops selling at 0. You can change this under “Inventory”.
Weight (kg) → Weight value (grams)
Changed to grams, because the column name says kg: 0,15 becomes 150.
Carton Qty → Wird nicht importiert
Units per carton matter when you order, not in your shop, so this column is left out.
Image URL → Product image URL, Variant image URL
Each photo is added to the product once. Each variant is also linked to the photo on its own row.
| Spalte des Lieferanten | Shopify-Spalte | Was passiert |
|---|---|---|
| Style No. | Fasst Zeilen zu Produkten zusammen | Rows with the same style number become one product. |
| Item No. | SKU | Each row's item number becomes the SKU of that variant. |
| Product Name | Title, URL handle | The name becomes the product title. The URL handle is made from it: Linen Cushion Cover becomes linen-cushion-cover. |
| Description | Description | Copied as it is. Shopify shows it on the product page. |
| Category | Type | Only the last level is kept: Home > Textiles > Cushion Covers becomes Cushion Covers. |
| Brand | Vendor | The brand becomes the vendor. |
| Colour | Option1 name, Option1 value | The column name becomes the option name, and each row's colour becomes the option value. |
| Size | Option2 name, Option2 value | The same for sizes, as the second option. |
| EAN | Variant Barcodes | The barcode is copied. The checker later makes sure each barcode is valid. |
| Wholesale Price (EUR) | Cost per item | This is your cost. 8,90 is read as 8.90. Price stays empty until you set a price rule (step 3). |
| Stock | Inventory quantity | The stock becomes the quantity. Shopify tracks it and stops selling at 0. You can change this under “Inventory”. |
| Weight (kg) | Weight value (grams) | Changed to grams, because the column name says kg: 0,15 becomes 150. |
| Carton Qty | Wird nicht importiert | Units per carton matter when you order, not in your shop, so this column is left out. |
| Image URL | Product image URL, Variant image URL | Each photo is added to the product once. Each variant is also linked to the photo on its own row. |
Was der Konverter nicht macht
- It doesn't decide your prices. You set the rule, and you can change prices later with the bulk price editor.
- It doesn't convert currencies. If you buy in euros and sell in dollars, include the exchange rate in “Multiply by”.
- It doesn't download or check photos. Shopify downloads them during the import, so the links must work without a login.
- It doesn't write or translate titles, descriptions or tags.
Häufige Fragen
- Can I import a supplier's spreadsheet into Shopify directly?
- Usually not. Shopify imports products from a CSV file that uses its own column names, such as Title, SKU and Price, with one row per variant. A supplier file uses other names, often has a wholesale price instead of a selling price, and has extra columns. Converting it first gives Shopify a file it can read.
- My prices use a comma, like 12,50. Is that a problem?
- No. The converter reads 12,50 as 12.50, and 1.250,00 as 1250.00. Only a number like 1,250 is unclear, because it could mean 1.25 or 1250. If your file always uses a decimal comma, tick “This file uses a comma as the decimal separator (12,50)” under the price.
- The weight is in kilograms or pounds. What do I do?
- Shopify's CSV stores weight in grams. If the column name includes the unit, such as Weight (kg), the converter changes it to grams for you. If not, choose the unit in “Unit in your file” next to the weight. It works with g, kg, lb and oz.
- One row lists several sizes, like “S, M, L”. Can the converter split them?
- Yes. Under “How are products organized?”, choose “One product per row, options listed in the row”, then choose the column with the sizes. Each size becomes a variant. The row has only one price and one SKU, so every size gets the same ones. Check them before you import.
- What do image links need to look like?
- Shopify downloads each photo from its link during the import. The link must start with https:// and open the photo without a login. Links to a supplier portal that needs a password, or plain file names like IMG_001.jpg, won't work. If your file only has file names and the photos are online in one folder, use “Add before each address” under “Images” to add the folder's address. A photo that appears on several rows is added only once.
- My supplier uses different column names. Will it still work?
- The converter knows many common names in English and Chinese, such as Item No., Article Number, Retail Price and 货号. Anything it doesn't recognize, you choose once under “Match columns”. Your browser remembers it, or you can save a template with Pro, so the next file is matched automatically.
- Is my supplier's file uploaded anywhere?
- No. The file is read and converted in your browser and is never sent to our servers.
Sehen Sie es sich zuerst am Beispiel an
Das Beispiel öffnet sich im Konverter, die Spalten sind schon zugeordnet. Es wird nichts hochgeladen. Alles läuft in Ihrem Browser.
Am 6. November 2026 mit dem Shopify-Hilfecenter und dem Konverter abgeglichen.
Skuvera