# Import with CSV Files

## ✅ Before you start (requirements)

#### 📌 Prepare your CSV file

Make sure your CSV has:

* **Column headers** in the first row (ex: `Handle`, `Title`, `Vendor`)
* A **unique key** you can use to match records (recommended: **Handle**)
* Correct format (CSV file)

#### 🔑 Recommended primary key

* **Product Handle** (best for most imports)
* You may also see other keys depending on your data (ex: Product ID, Variant SKU)

***

## 🛠️ Steps to upload file&#x20;

### Open CSV Uploads in Tipo app

<figure><img src="https://2618001169-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQFJLe0hkcyiradJOCgpx%2Fuploads%2F7L1ecpXbltk70oeWOYJI%2F2025-12-05_17-28-19.png?alt=media&#x26;token=a238b829-9884-4d05-b314-417b6baf6c42" alt=""><figcaption></figcaption></figure>

1. In Shopify Admin, open **Apps → Tipo Sync**
2. Click **CSV uploads**
3. Click **Add csv file**

You’ll be taken to the import wizard (**1/3 progress**).

***

### 📤 Step 1/3 — Upload CSV&#x20;

<figure><img src="https://2618001169-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQFJLe0hkcyiradJOCgpx%2Fuploads%2FaX056qPxRI6IwUIeiBRN%2F2025-12-05_17-28-51.png?alt=media&#x26;token=3a482833-1d31-4f2d-9da0-31c02f8d1251" alt=""><figcaption></figcaption></figure>

#### **Choose your upload source**

You can upload CSV from:

* **CSV Import** (upload file from your computer)
* Import from Web Link (URL)
* FTP Server Upload
* SFTP Server Upload

#### **Choose CSV options**

**Separator**

* Comma (most common)
* Semicolon
* Other

**CSV Data**

* **Product** (for product fields like title, description, vendor…)
* **Inventory** (for inventory quantities)

Then click **Next Step**.

<figure><img src="https://tipo.io/wp-content/uploads/2024/11/2024-11-04_16-26-46-1024x674.png" alt=""><figcaption></figcaption></figure>

***

### 🧩 Step 2/3 — Map Fields&#x20;

<figure><img src="https://2618001169-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQFJLe0hkcyiradJOCgpx%2Fuploads%2FvL3WqO95FnjL2DpMwmEg%2F2025-12-05_17-33-20.png?alt=media&#x26;token=be61b99e-8bba-4300-8488-fbeef4a910c0" alt=""><figcaption></figcaption></figure>

**A) Primary Key mapping**

This tells the app how to match rows in your CSV to products in Shopify.

* **Primary Key**: choose what your Shopify store will match by\
  Example: **Product Handle**
* **Column heading**: choose the column in your CSV\
  Example: **Handle**

> If your Primary Key doesn’t match, the app may create duplicates or fail to update the correct product.

**B) Map your CSV columns to Shopify fields**

You’ll see tabs like:

* **Product**
* **Variant**
* **Image**
* **Metafield**
* **Inventory**

For each row:

* **Import to Shopify** = Shopify field (ex: Title)
* **Column heading** = CSV column (ex: Title)

You can click **➕ Add mapping** to import more fields.

Then click **Next Step**.

***

### ⚙️ Step 3/3 — Import Settings&#x20;

<figure><img src="https://2618001169-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQFJLe0hkcyiradJOCgpx%2Fuploads%2F3FLwslxf0NZ8GKBDYvtl%2F2025-12-05_17-37-56.png?alt=media&#x26;token=8d11298f-8fbf-43bb-b811-d66260d6cb88" alt=""><figcaption></figcaption></figure>

#### **Step 3.1. Matching & Imports (how to update Shopify)**

Choose one:

✅ **Create new items**

* Only creates new products (no updating existing ones)

✅ **Only update current items that have the same primary key**

* Updates existing products only
* Does NOT create new ones

✅ **Create new items if not exist and update current items that have the same primary key** *(common choice)*

* Creates missing products
* Updates existing products that match (by Handle/SKU/etc.)

***

#### **Step 3.2. Upload specification (how much to import)**

* **Import All**: import everything in the file
* **Specify import**: import only a selected range of rows (useful for testing)

***

#### **Step 3.3. Filter data (optional)**

* **Only import data containing …** (include rule)
* **Exclude data containing …** (exclude rule)

Use this if you want to import only certain rows (ex: only rows that include `SYNC`).

***

#### **Step 3.4. Image data (if your CSV includes images)**

Choose one:

* **Add new images** (adds images without removing old ones)
* **Upon creation product only** (only add images for new products)
* **Overwrite current images** (replaces existing images)

***

#### **Step 3.5. Email notifications (optional)**

Choose when you want emails:

* On upload start
* On upload completion
* On upload error

***

#### **Step 3.6. Schedule upload**&#x20;

* **Run now** (import immediately)\
  (Other schedule options may appear depending on your plan/settings.)

Finally click **Save** (top-right).

***

## 🧪 Example: Update existing products + create new ones

**CSV sample**

| Handle              | Title               | Vendor     |
| ------------------- | ------------------- | ---------- |
| ceramic-table-lamp  | Ceramic Table Lamp  | ModernHome |
| wooden-floor-mirror | Wooden Floor Mirror | ModernHome |

**Settings to choose**

* **Primary Key**: Product Handle
* **Column heading**: Handle
* **Matching & Imports**: Create new items if not exist and update current items that have the same primary key

**Result**

* If `ceramic-table-lamp` already exists → it will be updated
* If `wooden-floor-mirror` does not exist → it will be created

***

**🙋 Still need support?**

If you still need help, please feel free to contact us at <hi@tipo.io>. We’ll be happy to assist you further.
