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

# Import a product CSV

> Upload a product CSV file to create a reviewable change set with field-level diffs and risk scores.

# Import a product CSV

## What does this do for me?

Upload a product CSV to create a change set. Safe Bulk reads your current products from Shopify, computes what will change, and assigns a risk score to each field difference.

## Supported CSV columns

| Column | Description |
| - | - |
| `handle` | Product handle (required) |
| `command` | `MERGE` (default), `IGNORE`, or `DELETE` |
| `title` | Product title |
| `vendor` | Product vendor |
| `product_type` | Product type |
| `status` | Product status |
| `price` | First variant price |
| `compare_at_price` | First variant compare-at price |
| `tags_add` | Comma or pipe-separated tags to add |
| `tags_remove` | Comma or pipe-separated tags to remove |
| `metafield:<namespace>.<key>:<type>` | Metafield value (type defaults to `single_line_text_field`) |

## Import limits per plan

| Limit | Safe Bulk Standard | Safe Bulk Growth |
| - | - | - |
| Rows per import | 5,000 | 25,000 |
| CSV size per import | 2 MiB | 4 MiB |
| Enabled scheduled playbooks | 20 | 100 |

Both limits apply. The app rejects imports that exceed either the row count or the byte size.

## 1. Prepare your CSV

Create a CSV file with one header row and one row per product. The sample CSV shows the expected format:

```
handle,title,tags_add,price,metafield:custom.priority:single_line_text_field
example-product,New title,featured,19.99,A
```

The `command` column controls how each row is handled:

* **MERGE** (default) — update or create the product.
* **IGNORE** — skip this row.
* **DELETE** — archive the product (requires an existing Shopify product).

## 2. Open the CSV import page

1. Go to **CSV import** in the app sidebar.
2. Optionally select a **Project** to group this import with related work.
3. Enter a **Name** for the change set.
4. Enter a **Filename** (defaults to `products.csv`).
5. Paste your CSV data into the **CSV data** field.
6. Select **Create diff**.

The sample data in the text area is provided as a reference. Select **Clear sample data** to start from scratch.

## 3. What happens next

The import runs as a background job. The change set starts in an **importing** status while Safe Bulk reads product snapshots from Shopify and computes diffs. You can see progress on the **Change sets** page.

When the import finishes, the change set is ready for review. You can:

* [Review the change items and risk score](https://docs.pcnaid.com/nodes/shopify/safe-bulk/merchant/guides/review-change-set.md)
* Approve, reject, execute, or roll back the changes
* Generate an AI review draft as a starting point for your manual review


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.