Importing from a spreadsheet

Help centre · Products & catalogue

For moving a shop's worth of stock in at once — usually because you've come from Crystal Commerce, Shopify or WooCommerce and you have their export sitting on your desktop.

What kind of file

A CSV with a header row, up to 32 MB and 50,000 rows. Commas, semicolons and tabs all work, and so do pound signs in the price column. If your export is bigger than that, split it — by set, or by category — and run it as several imports.

We recognise Crystal Commerce, Shopify and WooCommerce exports by their column headings and fill the mapping in for you. Any other file works just as well; you match the columns up yourself on the second screen, and nothing needs to be in a particular order.

What each row becomes

Every row is looked up in the shared catalogue first — by TCGplayer or Cardmarket id, by barcode, or by game, set, card number and name. When we find it, you get a proper catalogue listing: our artwork, the market price, the right set. Those don't count against your plan's allowance for your own products.

What we can't find becomes one of your own products, and those do count. You can also tell the wizard to leave unmatched rows out entirely, which is what you want if the file is nothing but singles.

It only ever adds

An import never changes something you already have. If you already stock a card in the same condition and language, that row is skipped and your price and quantity are left exactly as you set them. That means running the same file twice is safe — the second run simply reports that everything was already there.

It also means an import is not a way to update prices. To change what you already stock, use the product or catalogue screens.

Leave the page open

Big files are brought in a few hundred rows at a time, so the bar moves while you watch. If you close the tab or your connection drops, nothing is lost and nothing is duplicated — open the import again from this screen and press Carry on.

The rows that didn't make it

Anything skipped or unreadable is listed at the end with the reason, and you can download it as a CSV with your original columns plus a Why column. Fix that file and import it on its own.

The usual reasons are a card name that matches several printings (add a set or card-number column), a game that isn't on your plan, or a SKU already used by something else.

Did that not answer it?

Raise a ticket
🍪