> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wisepim.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Importing Products

> Import your catalog from Shopify, WooCommerce, Magento, or CSV into WISEPIM. First import auto-maps categories and attributes so you are ready instantly.

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/qIaYT_5-oEVfT_tl/images/marketing-screenshots/integrations/integrations-light-branded.webp?fit=max&auto=format&n=qIaYT_5-oEVfT_tl&q=85&s=cf4c43699bda75850eb74efa3d289235" alt="WISEPIM integrations catalog for Shopify, Amazon, WooCommerce and more" width="2400" height="1445" data-path="images/marketing-screenshots/integrations/integrations-light-branded.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/qIaYT_5-oEVfT_tl/images/marketing-screenshots/integrations/integrations-dark-branded.webp?fit=max&auto=format&n=qIaYT_5-oEVfT_tl&q=85&s=0d237900946cb4bafc71b604352677be" alt="WISEPIM integrations catalog for Shopify, Amazon, WooCommerce and more" width="2400" height="1445" data-path="images/marketing-screenshots/integrations/integrations-dark-branded.webp" />

Your product data lives somewhere already: in Shopify, Magento, WooCommerce, a spreadsheet, or all of the above. Importing brings it into WISEPIM so you can start improving it.

<Tip>
  Bringing in a catalog for the very first time? Follow the step-by-step guide: [Import your first catalog](/en/guides/first-catalog/import).
</Tip>

<Info>
  On your first platform import, WISEPIM automatically pulls in your categories and attributes alongside your products. No manual setup required. Your catalog structure is ready from the start.
</Info>

## Import sources

The import modal builds its list of sources automatically. Any connected integration that supports import appears as an option, so the more platforms you connect, the more you can import from. You don't need to manage a fixed list.

* **E-commerce platforms**: any connected integration that supports import, for example Shopify, WooCommerce, Magento, Lightspeed, Lightspeed E-Series (Ecwid), BigCommerce, PrestaShop, Shopware, Squarespace, CCV Shop, and more
* **CSV files**: any spreadsheet with product data
* **Excel files**: `.xlsx` and `.xls` spreadsheets
* **Web scraping**: paste a URL and let AI extract products, no file or API needed (see [Web Scraping Import](/en/essentials/web-scraping-import))
* **Demo data**: a ready-made sample catalog for your industry, perfect for exploring WISEPIM before you import your own

<Info>
  If you don't see a platform in the list, it just means it isn't connected yet. Set up the integration on the Integrations page and it will appear automatically.
</Info>

## Connect your platform first

Before importing from an e-commerce platform, you need to set up the integration. Each platform has its own way of generating API credentials. Follow the guide for your platform:

<CardGroup cols={3}>
  <Card title="Shopify" icon="shopify" iconType="brands" href="/en/integrations/shopify">
    Generate a custom app and API key
  </Card>

  <Card title="WooCommerce" icon="wordpress" iconType="brands" href="/en/integrations/woocommerce">
    Create REST API keys
  </Card>

  <Card title="Magento" icon="box" href="/en/integrations/magento">
    Set up an integration token
  </Card>

  <Card title="Lightspeed" icon="bolt" href="/en/integrations/lightspeed">
    Connect your Lightspeed account
  </Card>

  <Card title="Kaufland" icon="store" href="/en/integrations/kaufland">
    Get your Kaufland API credentials
  </Card>

  <Card title="WebshopImporter" icon="file-input" href="/en/integrations/webshopimporter">
    Configure WebshopImporter
  </Card>
</CardGroup>

Once your credentials are ready:

1. Go to the **Integrations** page
2. Select your platform and enter your API credentials
3. Test the connection
4. Save

<Warning>
  The import modal only shows platforms that have been successfully connected. If your platform doesn't appear, head to Integrations and set it up first.
</Warning>

## Running a platform import

<Steps>
  <Step title="Go to the Products page">
    Click the **Import** button in the toolbar.
  </Step>

  <Step title="Pick your source">
    Select the platform you want to import from. Only connected integrations are shown.
  </Step>

  <Step title="Choose a store (if you have more than one)">
    If a platform has several stores connected, WISEPIM asks which one to import from. With a single store, it skips this and goes straight to the import.
  </Step>

  <Step title="Let WISEPIM do the work">
    WISEPIM connects to your platform, discovers your products, and pulls everything in, including categories, attributes, and product relationships.
  </Step>

  <Step title="Review your catalog">
    Once the import completes, spot-check a few products to make sure everything came through correctly.
  </Step>
</Steps>

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/WCvp31BSLScUczaz/images/marketing-screenshots/products/products-import-modal-light-transparent.webp?fit=max&auto=format&n=WCvp31BSLScUczaz&q=85&s=6b6ed0bce6780f965cc00e363628a602" alt="Importing a product catalog into WISEPIM" width="1972" height="1632" data-path="images/marketing-screenshots/products/products-import-modal-light-transparent.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/ZX2PMkwlzd0qyBuW/images/marketing-screenshots/products/products-import-modal-dark-transparent.webp?fit=max&auto=format&n=ZX2PMkwlzd0qyBuW&q=85&s=fbee79d5bfdeb821b0bb1e9e3b53d7a0" alt="Importing a product catalog into WISEPIM" width="1972" height="1632" data-path="images/marketing-screenshots/products/products-import-modal-dark-transparent.webp" />

<Info>
  Imports run in the background. You can keep working in WISEPIM while your products are being pulled in. You'll get a notification when it's done.
</Info>

## CSV import

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/V6-UT40TpnIGGnaH/images/marketing-screenshots/products/products-csv-import-configure-light-branded.webp?fit=max&auto=format&n=V6-UT40TpnIGGnaH&q=85&s=0b60bac45a84342550c219c1db208414" alt="WISEPIM CSV import Configure step with duplicate handling and multi-value image-URL splitting" width="2400" height="1445" data-path="images/marketing-screenshots/products/products-csv-import-configure-light-branded.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/V6-UT40TpnIGGnaH/images/marketing-screenshots/products/products-csv-import-configure-dark-branded.webp?fit=max&auto=format&n=V6-UT40TpnIGGnaH&q=85&s=72491de615645a9d7ae3b09239f8be89" alt="WISEPIM CSV import Configure step with duplicate handling and multi-value image-URL splitting" width="2400" height="1445" data-path="images/marketing-screenshots/products/products-csv-import-configure-dark-branded.webp" />

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/V6-UT40TpnIGGnaH/images/marketing-screenshots/products/products-csv-import-mapping-light-branded.webp?fit=max&auto=format&n=V6-UT40TpnIGGnaH&q=85&s=cf79723d8f287b7384be72f533d6c6e7" alt="WISEPIM CSV import column mapping, matching spreadsheet columns to product fields" width="2400" height="1445" data-path="images/marketing-screenshots/products/products-csv-import-mapping-light-branded.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/V6-UT40TpnIGGnaH/images/marketing-screenshots/products/products-csv-import-mapping-dark-branded.webp?fit=max&auto=format&n=V6-UT40TpnIGGnaH&q=85&s=f0031b73e6f2bc4ba7c257f8b392c2a3" alt="WISEPIM CSV import column mapping, matching spreadsheet columns to product fields" width="2400" height="1445" data-path="images/marketing-screenshots/products/products-csv-import-mapping-dark-branded.webp" />

If your data lives in a spreadsheet, use CSV import. The CSV importer walks you through four steps: **Upload**, **Configure**, **Mapping**, and **Importing**.

**Prepare your file:**

* First row should contain column headers
* Use UTF-8 encoding
* Include at least product names and SKUs

<Info>
  Files must be `.csv` and up to **500 MB**. WISEPIM warns you as files get large (over 10 MB, 50 MB, and 100 MB) so you know a big upload may take a moment.
</Info>

<Steps>
  <Step title="Upload">
    Drag in your file or browse for it. WISEPIM analyzes it and shows the row count, the detected delimiter, and the encoding. If it guessed wrong, you can switch the delimiter (comma, semicolon, tab, tilde, or pipe) or encoding right here, and it will recognize source systems like Shopify, WooCommerce, and Magento exports automatically.
  </Step>

  <Step title="Configure">
    Set how the import should behave before you map anything. This step is where you choose:

    * **Duplicate handling**: what happens when a product already exists, matched by SKU. Choose **Update existing products** (merge new data into them), **Skip duplicates** (leave them unchanged), or **Create as new** (add them with a unique SKU). This is a per-import choice - it is saved in import templates, and it is independent of the project-wide [conflict resolution setting](/en/settings/import#handle-duplicate-products) that governs platform imports.
    * **Multi-value delimiter**: the character that separates several values in one cell (see below)
    * **Dynamic attributes**: turn extra columns into attributes automatically, and optionally create any that don't exist yet
    * **Nested data**: handle JSON columns and parent/variant relationships when your file contains them
  </Step>

  <Step title="Mapping">
    Match your CSV columns to WISEPIM fields. Auto-mapping suggests matches based on your column names, and you can adjust any of them. Save the result as a template to reuse next time.
  </Step>

  <Step title="Importing">
    WISEPIM imports your products in the background and shows progress as it goes.
  </Step>
</Steps>

### Variants in a flat file

Supplier files usually list every size and color as its own row. The importer's **Nested Data** step can turn those rows into proper parent/variant structures during the import, so you don't have to [group them afterwards](/en/essentials/bulk-editing/group-as-variants).

When the file's structure suggests variants, the step shows a **Variants detected** chip and proposes a setup. Enable **nested data handling** and pick a **Variant mode**:

* **No variants**: import all rows as separate products.
* **Parent-Child**: link variants to parent products using an identifier column - pick the **Parent identifier column** and the **Child/SKU identifier column**.
* **Grouped by attribute**: group rows by a shared attribute, for example all colors of the same product.

WISEPIM shows how many **Parents**, **Variants**, and **Standalone** products the setup produces before you import, and suggests a grouping column when values in one column repeat while another stays unique - with the honest caveat that a repeating column isn't *always* a parent, so check before accepting. A row with a blank child SKU is treated as parent metadata: its fields feed the configurable parent instead of becoming a variant.

### Import templates

Once you've mapped a file, save the setup as a template: your column mappings and duplicate-handling choices, reusable on every future import with the same file shape. WISEPIM ships built-in templates for common source systems, and you can save your own. Next time you import a file from the same supplier or export, apply the template and skip the mapping work.

### Multiple images in one column

A single CSV column can hold multiple image URLs separated by a delimiter. WISEPIM splits them automatically: the first URL becomes the main product image and the remaining URLs are added as gallery images.

You set the separator in the **Multi-Value** panel of the **Configure** step. The default is the pipe character (`|`), which is the most common choice, and you can switch it to a semicolon (`;`) or comma (`,`) to match your file.

<Info>
  If WISEPIM finds several image columns in your file, it surfaces a notice: "Multiple image URLs detected." The first column mapped to images becomes the main image; the rest go into the gallery. No extra steps needed.
</Info>

### Nested category paths

Your file can carry a whole category tree in one cell. Write the path with slashes and WISEPIM builds every level for you:

```
Home/Kitchen/Knives
```

That creates **Home**, then **Kitchen** under it, then **Knives** under that, and puts the product in the deepest one. Separate several paths with a comma to assign a product to more than one branch:

```
Home/Kitchen/Knives, Gifts/Under 50
```

Existing categories are reused, so importing the same paths again does not create duplicates.

<Tip>
  This saves you building the tree by hand before an import. Export the category path from your old system into one column, map it to categories, and the structure comes across with the products.
</Tip>

## Template defaults fill the rest

Your file rarely has every field. Product template defaults close that gap: any field your file doesn't map gets the default value you set in [Import settings](/en/settings/import), so new products land complete instead of half empty.

Defaults can cover status, type, visibility, brand, supplier, price, cost, stock, shipping, units, country of origin, and product family. Text fields can also use pattern defaults with `{{variable}}` placeholders, so a value like `{{brand}} {{name}}` is built per product.

<Info>
  Template defaults are **on by default** and you can turn them off for a single import. They only apply when a product is **created**. Updates to products you already have are never touched, so a re-import can't overwrite real data with a default.
</Info>

## Excel import

Prefer to work in Excel? Choose **Excel** in the import modal to open the dedicated Excel importer. It accepts both `.xlsx` and `.xls` files.

<Steps>
  <Step title="Open the Excel importer">
    Click **Import** on the Products page and pick **Excel**.
  </Step>

  <Step title="Upload your spreadsheet">
    Drag in or browse for your `.xlsx` or `.xls` file.
  </Step>

  <Step title="Map and import">
    Match your columns to WISEPIM fields, then start the import. WISEPIM brings your products in and notifies you when it's done.
  </Step>
</Steps>

## Demo data

Want to explore WISEPIM before importing your own catalog? Choose **Demo Data**, pick your industry, and WISEPIM loads a sample catalog with products, categories, attributes, and families already set up. It's the fastest way to see how everything fits together, and you can clear it out later when your real products are ready.

## How long does it take?

Import speed depends on catalog size and your platform's API rate limits. Each platform throttles requests differently, so times can vary.

| Catalog size           | CSV import     | Platform import     |
| ---------------------- | -------------- | ------------------- |
| Under 100 products     | A few seconds  | Under a minute      |
| 100–1,000 products     | Under a minute | 5–15 minutes        |
| 1,000–10,000 products  | A few minutes  | 15 minutes – 1 hour |
| 10,000–50,000 products | A few minutes  | 1–4 hours           |

<Info>
  CSV imports are fast because there's no API rate limiting involved. Platform imports depend on how quickly the source platform serves requests. Shopify, Magento, and WooCommerce all have different rate limits.
</Info>

<Tip>
  Start with a small test batch to verify everything works before importing your full catalog.
</Tip>

## Post-import completeness scan

<img className="block dark:hidden" src="https://mintcdn.com/swiftsyncai/ZX2PMkwlzd0qyBuW/images/marketing-screenshots/products/products-import-cleanup-light-branded.webp?fit=max&auto=format&n=ZX2PMkwlzd0qyBuW&q=85&s=29a326bf94f159369f09e5b2c3e4a7ed" alt="WISEPIM post-import cleanup wizard triaging missing weight, images and prices by impact" width="2400" height="1445" data-path="images/marketing-screenshots/products/products-import-cleanup-light-branded.webp" />

<img className="hidden dark:block" src="https://mintcdn.com/swiftsyncai/ZX2PMkwlzd0qyBuW/images/marketing-screenshots/products/products-import-cleanup-dark-branded.webp?fit=max&auto=format&n=ZX2PMkwlzd0qyBuW&q=85&s=c15ba52fd8d8931fb801238c154bc5bc" alt="WISEPIM post-import cleanup wizard triaging missing weight, images and prices by impact" width="2400" height="1445" data-path="images/marketing-screenshots/products/products-import-cleanup-dark-branded.webp" />

Once a CSV import finishes, WISEPIM automatically scans the imported products for missing critical fields, like a main image, weight, and price. If any gaps are found, the **Import Cleanup Wizard** opens.

The wizard walks you through each gap one step at a time:

* **Missing images**: WISEPIM checks whether an unmapped column in your original file might hold the image URLs. If so, it suggests re-running the import with that column mapped. You can also paste a placeholder URL to fill all products at once.
* **Missing weight or price**: AI reads each product's existing title and description and extracts the value where it finds one. For products where it can't, you can set a single value for all of them.
* **Other field gaps**: similar step-by-step fix options, including AI enrichment for text fields.

<Tip>
  You can skip any step and come back later. Skipped gaps stay visible on the Products page as a banner until all critical fields are filled.
</Tip>

## After your import

Once your products are in, here's what to do next:

1. **Work through the Cleanup Wizard**: if critical fields are missing, the wizard opens automatically. Fix them before you publish
2. **Spot-check your data**: open a few products and verify the information came through correctly
3. **Review your categories**: your category structure was imported automatically. Make sure it looks right
4. **Check your attributes**: same for attributes. They're already there, ready to use
5. **[Enrich with AI](/en/essentials/enriching-products)**: this is where WISEPIM starts earning its keep. Select products and let the AI improve your content

## Undo an import

Imported the wrong file, or the wrong store? Open the import in the [Process Tracker](/en/other-features/process-tracker) and choose **Rollback**. It removes what that import brought in, so you can fix your file and run it again from a clean starting point.

<Tip>
  Rollback is only available on import tasks. Do it before you start enriching, so you don't throw away work you did on top of the imported products.
</Tip>

## Where each product came from

Every product remembers the source it first arrived from: a platform, a file, a scrape, or a feed. WISEPIM records this once, on the first import, and never changes it afterwards, so it stays a reliable record of origin.

You can filter your catalog by import source on the [Products](/en/essentials/managing-products) page. That makes it easy to answer questions like "show me everything that came from this supplier's file" before a bulk edit, an enrichment run, or a cleanup.

## Troubleshooting

### Import not starting

* Check that your integration is connected and tested on the Integrations page
* Verify your API credentials haven't expired
* Make sure your API user has the right permissions

### No products found

* Confirm your store actually has published products
* Check API user permissions, as some platforms restrict product visibility
* Try re-testing the integration connection

### CSV issues

* Save as **CSV (UTF-8)**: encoding problems cause garbled text
* Remove special characters from column headers
* Make sure required fields (name, SKU) are mapped

### Slow import

Large catalogs take time, and platform API rate limits can slow things down. If an import seems stuck, check the [Process Tracker](/en/other-features/process-tracker) for status updates.

## Related

<CardGroup cols={2}>
  <Card title="Import Settings" icon="settings" href="/en/settings/import">
    Configure the mappings and defaults every import runs with.
  </Card>

  <Card title="Web Scraping Import" icon="globe" href="/en/essentials/web-scraping-import">
    Import products straight from any webshop URL.
  </Card>

  <Card title="Process Tracker" icon="activity" href="/en/other-features/process-tracker">
    Follow long-running imports and see exactly what changed.
  </Card>

  <Card title="Exporting Products" icon="upload" href="/en/essentials/exporting-products">
    Send your enriched catalog back out to your channels.
  </Card>

  <Card title="Import your first catalog" icon="rocket" href="/en/guides/first-catalog/import">
    A guided first import, from source file to a catalog you can work with.
  </Card>
</CardGroup>
