WooCommerce CSV product import
Turn a supplier CSV into products with variations
Or update existing products by SKU. WooMate suggests column matches, groups rows into variations and moves the data into WooCommerce.
Names, prices, descriptions, categories and images in one run. You upload the file, check the summary and start the import.
We'll help you set things up and run your first import. Free.
- 14 days with no WooMate fee, no credit card
- Import doesn't use AI, so it doesn't need an API key.

Several rows in a file are often one product in your store
Suppliers send separate rows for sizes, colors or device power. In WooCommerce you want one product page with a variation picker.
| Name in CSV | SKU | Size | Price |
|---|---|---|---|
| Basic T-shirt | BASIC-S | S | 29.00 |
| Basic T-shirt | BASIC-M | M | 29.00 |
| Basic T-shirt | BASIC-L | L | 34.00 |
You choose grouping by name and mark the “Size” column as an attribute. WooMate creates the product “Basic T-shirt” with variations S, M and L, each with its own SKU and price. Color, capacity or power work the same way.
Choose how rows are grouped into variations
Suppliers record links between models in different ways. You pick the rule that fits the file, and WooMate applies it to the whole list.
By shared group
A column that links variations, e.g. “Group”, “Parent” or “Base model”. Rows with the same value form one product.
By name
Rows with the same name form one product. Columns such as “Color” and “Size” define the variations.
By SKU prefix
Codes with a shared part, e.g. MODEL-S, MODEL-M and MODEL-L. WooMate cuts off the last segment after a hyphen or underscore.
Each row separately
No grouping, when each row should create its own simple product.
Match columns without renaming them in the spreadsheet
In one file the product name is “Name”, in another “Product title”. WooMate reads the column headers and contents and suggests which product field each maps to. It also detects the file's delimiter and encoding.
- For each column you see sample values and a suggested field, which you can change.
- You skip columns you don't need.
- You save the mapping and reuse it for the next file from the same supplier.
- You choose a mode: add new products, update existing ones, or both. Existing products are matched only by SKU or ID.
Bring more than names and prices into your store
| CSV data | What WooMate does with it |
|---|---|
| Name and SKU | Creates the product name and its identifier. |
| Regular and sale price | Moves prices to the product or to each variation. |
| Product description | Uses the content from the mapped column, including HTML. |
| Categories | Matches them to your store structure. “Clothing > T-shirts > Short sleeve” lands on the right levels, and missing ones are created. |
| Image URLs | Downloads the images and assigns them to the product. Separate several URLs in one cell with a comma or the | character. |
| Product status | Applies the value from the file, e.g. draft or published. |
| Variation attributes | Creates the options on a variable product page, up to 30 attributes. |
Check the result before anything is saved
Before importing, you see the number of rows and products after grouping, the split into simple and variable products, categories and a data sample. If the result doesn't fit, you go back to the settings and the summary recalculates.
You can also run a dry run. It shows how processing goes but doesn't create products or categories. Image availability and SKU conflicts are only checked by a real save.
Import runs on the server. Come back to it whenever you like
Live progress
You see which product is being processed and how many are left. You can close the browser tab.
Messages per product
An error in one product doesn't stop the rest. When a save result is uncertain, the import pauses so you can check the product.
Error report
When it's done, you download the errors as a CSV file and retry only the items that need fixing.
Import history
File name, date, status, and the number of products and errors. You can resume an interrupted import.
What to know before you start
Which files does WooMate Import support?
CSV files up to 10 MB. Save an Excel spreadsheet as CSV first. You can load the file from your computer or drag it into the app.
Does the import update existing products?
Yes. You choose a mode: add new, update existing, or both. Products are matched only by SKU or ID. A duplicate SKU in the file stops that row with an error description. Import isn't meant for recurring stock sync with a wholesaler.
Will products go on sale right away?
If you don't set a status, they're created as published. To create drafts, add a column with the value draft and map it to product status.
Can I close the tab during an import?
Yes. Import runs on the server. You'll find the progress and result in the import history.
Will WooMate write missing descriptions during the import?
Import moves descriptions from the file. You can create new descriptions from manufacturer documentation in WooMate Studio.
What does the trial include?
For 14 days you can try WooMate on one store. The import limit is 50 products, counted after grouping rows. A dry run doesn't use the limit. After the trial, Import is included in the Pro, Pro Lifetime and Agency plans. Compare plans
We'll go through your first file together. Free
Have a CSV from a supplier? We'll help you connect your store, map the columns and choose how to group variations. We'll check the summary with you and go through your first import.
Video call, 30–60 minutes. We reply to requests within 24 hours.
