Skip to content

WooCommerce product uploadsfrom your supplier’s spreadsheet

Send the spreadsheet exactly as your supplier sent it. We hand back a file laid out for WooCommerce’s own product importer, with every product matched, the gaps filled from sources you can check, and the formats fixed. You check it, then run the import.

How it works
  • Nothing goes live without your sign-off
  • Every value keeps its source
  • Your data is never shared
WooCommerce columnBeforeSupplier sentAfterReady for WooCommerce
Typeblanksimple
SKUFP-28, with a space in frontFP-28
NameFRYING PAN 28CM NON STICK28 cm non-stick frying pan
PublishedYes1
Regular price£24.9924.99
Weight (kg)1200 g1.2
CategoriesKitchen/Cookware/Frying PansKitchen > Cookware > Frying pans
StockPlentyNo number given: yours to set
Imagesfp28.jpghttps link to the full-size image
Attribute 1 nameColour: BlackColour
Attribute 1 value(s)Colour: BlackBlack
One frying pan as a supplier sent it and as WooCommerce’s importer reads it. The product is an example, and the weight assumes a store set to kilograms.12

How it works

  1. Send the file as it arrived

    Any columns, any names, no template to fill in. A SKU or barcode on each row is enough to start.

  2. We get it ready for WooCommerce

    Every product is matched to the real thing and checked against a source. We fill the gaps, fix the formats, and lay the rows out in the columns WooCommerce’s importer reads, with a parent row for each product that comes in sizes or colours.1

  3. You check it, then import it

    Nothing goes live without your sign-off. When you are happy, you run the importer that comes with WooCommerce, from Products, All Products, then Import.1

Where supplier spreadsheets break a WooCommerce import

Supplier files are made for a buyer or a warehouse, not for WooCommerce’s importer. These are the things in them that trip it up, each with WooCommerce’s own documentation linked.

  • Categories written the supplier’s way

    BeforeKitchen/Cookware/Frying PansCookware; Frying pans

    AfterKitchen > Cookware > Frying pans

    The importer wants a > between the levels of a category and a comma between separate ones, and a comma inside a category’s own name needs a backslash in front of it.1 Each product is filed into your own categories first, then the path is written the way the importer reads it.

  • Units typed into the weight

    Before1200 g1.2 kg1.2kg

    After1.2

    The importer reads weights and sizes as bare numbers, “Parse only numbers” in its own words, and the unit comes from a setting on your store.12 It cannot turn grams into kilograms for you, so every row is converted to your store’s unit before the unit comes off.

  • Words where the importer wants numbers

    BeforeYesYESLive

    After1

    Published takes 1 for published, not Yes, and WooCommerce’s advice for a supplier’s file is to strip out “formulas, currency symbols, extra whitespace, and unsupported formatting” before importing it.1

  • A supplier’s ID column

    BeforeID: 1482, the supplier’s code

    AfterFP-28, in the SKU column

    WooCommerce matches products already in your shop by ID or SKU, and its own schema warns that an ID “will overwrite data for that ID on import”.13 A supplier’s code that happens to match one of your product IDs would overwrite that product, so it goes in SKU, never in ID, with a SKU on every row that stays the same from one delivery to the next.1

  • Variations that will not join up

    BeforeColour: Blackcolour: blackBlk

    AfterBlack

    A product in sizes or colours is a parent row and a row for each variation, and WooCommerce asks for attribute names and values to be spelt identically on every row; its own example of what to tidy is L, l and Large.1 Every spelling is folded onto one value, so the variations join their parent and your filters show one Black, not three.

  • Image links that will not load

    Beforefp28.jpg

    Afterhttps link to the full-size image

    WooCommerce copies each image into your Media Library while it imports, so a link has to be directly reachable at that moment, links behind redirect scripts are not supported, and a bare file name only works for an image already in the library.1 We open every link before the file is built and swap thumbnails for the full-size original.

What you get back

A Google Sheet or Excel file laid out for WooCommerce’s importer, one tab per category, and the same products before and after so you can see exactly what changed.

  • Every product matched and checked

    Each SKU or barcode is matched to the real product, and every source page is checked to make sure it really shows that product.

  • The gaps filled, with sources

    Missing specifications, descriptions and images are found on manufacturer and retailer pages, and every value keeps a link to where it came from, so anyone on your team can check it.

  • One spelling for every value

    Freestanding, Free-standing and freestanding become the one word you choose, so your shop’s filters offer one option instead of three, and every future file lands on the same word.

  • Titles and descriptions written from the facts

    Product titles, descriptions, page titles and search snippets are written from the values already in the data, to length limits that are enforced.

  • Images that will import

    The full-size original behind every thumbnail, with logos, badges and duplicates taken out, and any format your shop will not take converted, at a link we host for 30 days.

  • A score before anything goes live

    One quality score for the file and a grade for each product, worst first, so you know what to look at. It warns; it never blocks.

Recent jobs

Our own account of work we have done. The customers are unnamed here, and every figure comes from our own records of the job.

Questions

Questions WooCommerce sellers ask

What WooCommerce sellers ask before they send us a file. Anything else, ask us and a person answers.

Is this a WooCommerce product data entry service?

Yes, in all but the typing. WooCommerce warns that supplier files “often use different column names, identifiers, and attribute formats than WooCommerce expects”, and asks for them to be normalised before import. We do that work: each row is matched to the real product, its gaps are filled from sources you can check, and every column is named as WooCommerce’s import schema names it.

Do you upload the products to my WooCommerce shop?

No, you run the import, from Products, All Products, then Import. WooCommerce first shows a Column mapping screen, matching each column to a product field and leaving unrecognised ones out; ours carry the schema’s own names, so they map themselves. Nothing reaches your shop until you select Run the importer, and WooCommerce asks you to stay on the page while it works.

Do you need my WordPress login, or a plugin?

Neither. WooCommerce “includes a built-in CSV tool for importing, exporting, and bulk-updating products”, and the file comes back laid out for that tool, so there is no plugin to buy and no WordPress account to share. WooCommerce points to its premium Product CSV Import Suite only for extensive imports or custom product data from extensions.

My supplier only sends product codes. Is that enough?

Yes, and in WooCommerce the code does a second job. We match each SKU or barcode to the real product and fill in the rest from checked sources. The supplier’s SKU then goes in the SKU column, which the importer uses to recognise products it already has, so a later file can update them. WooCommerce’s advice for repeat imports is to “keep stable IDs or SKUs”.

Can you handle products in sizes and colours?

Yes. WooCommerce wants a row of Type variable listing every size or colour, then a row of Type variation for each one, with its own SKU and the parent’s SKU in the Parent column. A variation row takes one value per attribute; give it more and WooCommerce “uses the first”. We fold spellings onto one value, so every variation finds its parent.

Will it overwrite products I already have?

Only if you choose Update existing products, and then only rows whose ID or SKU matches a product already in your shop. Without that option, those rows are skipped.

Can the products go in as drafts?

Yes. WooCommerce’s Published column sets each product’s status: 1 for published, 0 for private, -1 for draft and 2 for pending review, and it also takes true for published and false for draft. With every row at -1, the range comes in as drafts, and nothing is published until you choose to publish it.

Why does the importer skip some rows?

Start with the import log. The common causes WooCommerce names are a SKU or ID already in your shop when Update existing products was not selected, columns or values that do not match its import schema, an unexpected Published value, a plugin or theme conflict, or a file too big for your server at once. Ours follows the schema; for size, WooCommerce advises smaller batches.

Doing it yourself?

Everything on this page is written up in full on the blog, with WooCommerce’s own pages cited, and every word of the trade is in the glossary in plain English.

Sources

  1. WooCommerce documentation. Product CSV Importer and Exporter.
  2. WooCommerce documentation. Products Settings.
  3. WooCommerce on GitHub. Product CSV Import Schema.

WooCommerce is a trademark of its owner. RefynData is an independent service, not affiliated with or endorsed by WooCommerce.

Send the fileas it arrived

Nothing goes live without your sign-offEvery value keeps its sourceYour data is never shared

Send one supplier spreadsheet, exactly as it came. We will show you the same products before and after, ready for the platform you sell on, with a source on every value we add.

One email with the upload link. Nothing else lands in your inbox.