> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.simplyprint.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Shop products: map store products to Projects, variants and CSV import

||| **Not live for everyone yet.** The Shop is rolling out to a closed pilot first, so some accounts don't see it yet.

A product in the Shop is something you sell. A Project is what makes it: the models, the print settings, the sizes and the sliced plates. Linking the two once ("mapping") is what lets every later order go straight to the print queue with the right files, in the right size, in the right quantity, without anybody looking anything up.

This article covers the **Products** tab (`/panel/shop/products`): importing products, the product page, mapping variants by hand and automatically, sizes and colours, mapping a large catalogue from a CSV file, and which products need printing at all.

|| The Shop is part of the Print Farm and Enterprise plans. Seeing products needs **See products**; editing and mapping them needs **Manage products**. Importing products from a store also needs **Manage store connections**.

## Table of contents
- Products, variants and Projects
- Getting products into the Shop
- The product list
- The product page
- Mapping a variant to what makes it
- Auto-map matches
- Sizes, colours and other options
- Mapping a big catalogue from a CSV file
- Which products need printing
- When a product changes or disappears in the store
- Troubleshooting
- Related articles

## Products, variants and Projects
Three things are linked when you map:

- **A store variant**: one thing a buyer can pick in your store, such as "Hex desk organizer, Large, Walnut". A product with no options has a single variant.
- **A Project variant**: one printable version of a Project, such as the Large size of your "Hex desk organizer" Project. A Project can have several, for sizes, sets and colourways.
- **A single file**: for a product that is just one model printed as it is, you can map to a file instead of a Project.

Each store variant is mapped to exactly one of these. Once a variant is mapped, every order for it, now and later, knows what to print. A product sold in two stores is one product with two listings, and each store's variants are mapped on their own rows.

## Getting products into the Shop
There are three ways in:

1. **Import from a store.** On the Products tab, choose **Import products**. Pick the store, search by name, SKU or tag, select up to 250 products per import (25 per store per page), preview and import. The first time, you're asked to allow the store to share the selected data with SimplyPrint.
2. **Import the whole catalogue.** From a store's setup, you can bring in everything at once. Tick **Join products that share a SKU with one I already have** to merge a product you sell in two stores into one. A shared SKU is strong evidence of the same product; a shared name alone never merges anything, and those are listed for you to check instead.
3. **Add a product by hand** with **Add product**: name, SKU, brand, category, photo (2 MB or smaller), options and prices.

What arrives from a store depends on its data-sharing switches: names, SKUs, tags, variant options, the main product photo, plain-text descriptions, and store categories or collections. Importing a product never makes its order lines printable on its own. See [Connecting a store to the Shop](https://help.simplyprint.io/en/article/connecting-a-store-to-the-shop-guided-setup-import-rules-and-what-is-shared-ss2u94/).

![Import products from a Fernwood store: searching "planter", with the Spiral Planter (12 variants) selected](https://storage.crisp.chat/users/helpdesk/website/-/f/f/2/2/ff22a914001c1000/02-shop-products-and-mapping-s_1xe170u.png)

## The product list
The list shows each product with its SKU, brand, how many orders it has, what it's **Mapped to**, the stores it's **Sold on**, and more columns you can turn on (options, Shop labels, categories, status, ordered quantity). Filter by category, Shop label or status (active or archived).

**Mapped to** tells you at a glance where each product stands: **Mapped**, "3 variants mapped", **Review mapping**, **Mapping needed**, or **Ignored** for products that never need printing.

While some products aren't linked yet, a banner says so: "An order for an unlinked product waits here instead of reaching the print queue." It carries **Auto-map matches** and **Import CSV mappings**.

Select several products to **Review SKU mappings** (up to 50 at a time), or archive and restore them in one go.

![The Products tab for Fernwood: Cable Clips, Faceted Vase and Hex Coaster Set with their variants mapped and each sold on WooCommerce, Shopify and Etsy, under Import products, Import CSV mappings and Auto-map matches](https://storage.crisp.chat/users/helpdesk/website/-/f/f/2/2/ff22a914001c1000/02-shop-products-and-mapping-s_1bhjg5x.png)

## The product page
Open a product to see everything about it on one page:

- **The header**: photo, name, SKU (edit it in place), and the store's tags and collections as chips. Hover one to see which store it came from; change those in the store.
- **Made from** and the **variants table**: every variant with its options, SKU, price, the stores it's sold on, and what it **Makes**. Edit SKUs and prices here, set a **SKU pattern**, or **Use for all stores**.
- **Options**: the buyer's choices, such as size or colour. See "Sizes, colours and other options" below.
- **Mapping rules**: map many variants at once by their option values, for example every variant whose Size is "Large" to the Large Project variant. A variant mapped by hand always wins over a rule.
- **Ready to print**: how many variants still need mapping, with **Map variants**, and the **Printing** choice.
- **Item workflow**: extra work this product needs after printing, if you use Workflows.
- **Stock**: whether it's printed to order or sold from stock. See [Shop inventory](https://help.simplyprint.io/en/article/shop-inventory-stock-items-movements-reservations-and-minimum-stock-rf2gge/).
- **Sold on**: one row per store listing, with the variant and SKU counts and a link to open it in the store. **Details** shows what the store says about it (status, type, vendor, collections, tags) as of the last import.
- **Order history**: every order the product has been on.

If the Shop thinks a new product might already be in your catalogue, a banner offers "Link to 'Hex desk organizer'" or **Keep separate**.

![The Honeycomb Desk Organizer product page: Size and Colour options, the variants table with all 8 variants mapped and sold on WooCommerce, Shopify and Etsy, and the Printing select](https://storage.crisp.chat/users/helpdesk/website/-/f/f/2/2/ff22a914001c1000/02-shop-products-and-mapping-s_1dz0is0.png)

## Mapping a variant to what makes it
To map, choose **Map product** on the list, or **Map variants** on the product page. The dialog is called "What makes Hex desk organizer?". Its variants are listed on the left with what each is made from; a listing sold on two stores shows as two rows, told apart by store name.

1. Pick a variant. The best five matches are suggested at the top.
2. Search your Projects, files and SKUs, or **Browse**. You can also **Upload a model** (STL, 3MF or G-code). It's kept with this product, not in your files.
3. If you pick a Project with several variants, choose **Which variant** this store variant makes. The Large store variant goes to the Large Project variant.
4. Save. The dialog moves to the next unmapped variant and closes when none is left.

When each of the other unmapped variants has an obvious match in the same Project, **Also use for the 2 other unmapped variants** maps them all in one go.

**A file instead of a Project.** If you pick a file, the dialog says it "will be printed exactly as it is". That's fine for a single model at its own size. **Make a Project from it** turns the file into a Project when you want sizes, sets or print settings, and selects the new Project once its import finishes, ready for you to save.

Mapping never slices, releases or queues anything. It only decides what an order for this variant will print.

![The "What makes Spiral Planter?" mapping dialog: store variants on the left, one row per store, and the best matches for the selected variant](https://storage.crisp.chat/users/helpdesk/website/-/f/f/2/2/ff22a914001c1000/02-shop-products-and-mapping-s_1rp47fy.png)

## Auto-map matches
**Auto-map matches** looks at your unmapped variants and maps the ones with a clear answer. It matches on, strongest first: a Project or Project variant SKU that exactly matches, an exact SKU match, the SKU appearing in a file or Project name, an exact product name match, and word overlap.

It only maps when one candidate is clearly ahead. For a Project with several variants, it matches the store's option values to the Project variant's (it knows "32mm" and "32 MM" are the same) and refuses a tie: "2 Project variants match. Choose one by hand." When it's done, a summary shows how many were mapped and how many need review. It never changes a variant that's already mapped.

If any orders were waiting on the products it just mapped, and their store queues mapped orders automatically, those orders go to the print queue straight away, and a message says how many.

## Sizes, colours and other options
Each product option has a meaning: **Size**, **Colour**, **Material**, **Finish or treatment**, **Words on the object**, **Note for the maker**, **Paid add-on**, or **No production meaning**. The Shop guesses it from the option's name (size, colour, material and so on), and you can change it.

Today, an option's meaning is shown on the order for whoever makes and packs it. It doesn't change what is printed. What prints is always the Project variant the store variant is mapped to:

- **Size**: make a Project variant for each size and map each store size to its own variant. "Small, Medium, Large" in the store maps to the Small, Medium and Large variants of one Project. A mapping that names a size any other way is refused: "Choose the Project variant of that size instead."
- **Colour and material**: these aren't linked to a filament yet. The buyer's colour shows on the order, so set the filament when the print is queued, or make a colour its own Project variant.
- **Words on the object** and **Note for the maker**: shown on the order line for the person making it.

**What can go straight to the queue unsliced.** A variant whose files are sliced releases as it is. A plain model, whole, at its own size and with no colour, can go to the print queue unsliced and be sliced there, like any model you add by hand (this follows the store's "When nothing has been sliced yet" setting). Anything more, such as several parts, a set, a scaled size or a colourway, has to be arranged and sliced in Projects first. Releasing it before then says so: "Arrange and slice it in Projects, then release the order."

## Mapping a big catalogue from a CSV file
For hundreds or thousands of products, map them from a spreadsheet. On the Products tab, choose **Import CSV mappings**. It maps store products you've already imported to Projects you already have. Nothing is printed, and nothing is imported from the store.

1. Choose the store, upload the CSV file, and match its columns.
2. Preview: every row shows as ready or blocked, with the reason.
3. Select the ready rows (across pages if you like) and **Approve selected**.
4. **Apply approved batch**, or **Apply all approved batches** to run them one after another.

The columns you can use (all optional, use the ones you have):

| Column | What it identifies |
| ------ | ------------------ |
| Product name, Variation name | The store product and variant, by name |
| Store SKU | The store variant, by its SKU |
| Store product ID, Store variant ID | The store variant, by the store's own IDs |
| Existing Shop product UID | A product already in the Shop |
| Native SKU | The Project variant SKU to map to |
| Project name or path, Existing Project UID | The Project to map to |
| Project variant UID, Project variant name or options | The variant, for example `size=32mm` |

Use both the store product ID and variant ID, or a store SKU that's unique. If **Native SKU** is empty and no Project is given, the store SKU is used as the native SKU.

Files can be up to 20,000 rows, 10 MB and 64 columns. Rows are applied in batches of up to 200 rows or 50 products, and an approved batch has to be applied within 15 minutes. **Saved mapping imports** lists your earlier imports so you can resume one without uploading it again, and **Save these columns as a profile** remembers a column layout for next time.

## Which products need printing
Not everything you sell is printed. A lamp shade is, the bulb sold with it isn't. Each store has a rule for this under **Which order items need printing**, for example "require the product tag `3d-print`". Items that don't match stay on the order, are packed with it, and never need a mapping.

On the product page, the **Printing** select overrides the rule for one product:

- **Follow my printing rule**: the rule decides; the page spells it out, such as "Printed when it is tagged 3d-print."
- **Always printed**
- **Never printed**

The answer is checked again for every new order, and changing it never changes orders you already have. On a single order you can also change whether one line needs printing. See [Shop orders](https://help.simplyprint.io/en/article/shop-orders-store-orders-manual-orders-review-and-release-mv1hd6/).

## When a product changes or disappears in the store
- **Changed in the store**: when **Automatically update imported products** is on, store edits keep arriving. Your mappings are kept.
- **Deactivated or deleted in the store**: the listing shows **Inactive listing** or **Deleted in** followed by the store's name, and its mapping is kept for history. The product itself becomes inactive only when no other store still sells it. Orders already imported can still be released.
- **Brought back**: a product restored in WooCommerce comes back as the same listing. A product re-created in Shopify gets a new ID, so it arrives as a new listing to map.

## Troubleshooting
- **"This store variant changed. Reload it before approving a mapping."** The store sent an update while you had the dialog open. Reload and map again.
- **"This Project has no variant to print. Open it in Projects and add a model."** The Project is empty.
- **"'Large' matches, but cannot be printed yet. Finish it in Projects."** The matching Project variant has nothing ready to print yet.
- **A mapping rule says "Matches nothing".** Stores spell values their own way, such as "180mm" against "180 mm". Check the exact value in the variants table.
- **CSV: "No existing variant matches this store selection."** Import the store's catalogue first, or give the exact store product and variant IDs.
- **No photo arrived.** Product photos have to be allowed in the store's data-sharing switches. If the store had none, add one on the product.

## Related articles
- [The Shop: run your 3D printing orders from store to shipped](https://help.simplyprint.io/en/article/the-shop-run-your-3d-printing-orders-from-store-to-shipped-11v71lf/)
- [Shop orders: store orders, manual orders, review and release](https://help.simplyprint.io/en/article/shop-orders-store-orders-manual-orders-review-and-release-mv1hd6/)
- [Connecting a store to the Shop](https://help.simplyprint.io/en/article/connecting-a-store-to-the-shop-guided-setup-import-rules-and-what-is-shared-ss2u94/)
- [Shop inventory: stock items, movements, reservations and minimum stock](https://help.simplyprint.io/en/article/shop-inventory-stock-items-movements-reservations-and-minimum-stock-rf2gge/)
- [Shop production work: the Work page, clearing plates, trays and finishing steps](https://help.simplyprint.io/en/article/shop-production-work-the-work-page-clearing-plates-trays-and-finishing-steps-cvy4nw/)