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

# CSV import & export

> Bulk-add or update products using a spreadsheet, and export your catalog for record-keeping.

## Import products from CSV

CSV import is the fastest way to add a large catalog when you're getting started, or to update many products at once.

1. In the Shopify Admin, open PopUp and go to **Products**
2. Select **Import CSV**
3. Download the template, fill it in, and upload it

### Download the template

The template is available directly from the Products page. It includes the correct column headers and example rows.

### Column reference

| Column          | Required             | Values                 | Notes                                                                                                                     |
| --------------- | -------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `SKU`           | Yes                  | Any text               | Auto-generated by PopUp — do not change or delete. See note below.                                                        |
| `NAME`          | Yes                  | Any text               | Product name shown in POS                                                                                                 |
| `TYPE`          | Yes                  | `weight` or `item`     | Weight products use a scale; item products have a fixed price                                                             |
| `UNIT`          | Weight products only | `lbs`, `oz`, `kg`, `g` | Leave blank for item products                                                                                             |
| `PRICE`         | Yes                  | Number (e.g. `3.50`)   | Price per unit for weight; flat price for items                                                                           |
| `ACTIVE`        | Yes                  | `true` or `false`      | Whether the product appears in POS                                                                                        |
| `CATEGORY`      | No                   | Category name          | Must match an existing category name exactly, or a new one will be created                                                |
| `imageurl`      | No                   | URL                    | Direct URL to a product image                                                                                             |
| `id (readonly)` | No                   | Number                 | Only present in exported files — lets the importer match rows to existing products for updates. Do not add this manually. |

<Note>
  **Don't change or delete the SKU column.** PopUp automatically generates a unique SKU for every product (e.g. `VEG-TOM-001`) — it doesn't appear in the product form, but it's present in every exported file. When you re-import a CSV, PopUp uses the SKU to find the matching product and apply your updates. If you change or delete a SKU, PopUp won't recognise the row as an existing product and will create a duplicate instead.
</Note>

### Rules

* Column headers are case-insensitive — `SKU`, `sku`, and `SKU*` all work
* Lines starting with `#` are treated as comments and ignored
* A row is skipped if `sku`, `name`, or `price` is missing
* `type` must be exactly `weight` or `item` — other values are rejected
* If a `category` name doesn't exist yet, it will be created automatically
* Existing products are matched by `id` first, then by `SKU` as a fallback

### Example rows

```csv theme={null}
SKU,NAME,TYPE,UNIT,PRICE,ACTIVE,CATEGORY
VEG-TOM-001,Tomatoes,weight,lbs,3.50,true,Vegetables
VEG-CAR-002,Carrots,weight,kg,2.00,true,Vegetables
BAK-CRO-003,Croissant,item,,1.75,true,Baked Goods
```

### Import results

After uploading, PopUp shows a summary:

* **Created** — new products added
* **Updated** — existing products changed
* **Skipped** — rows with errors (listed with row number and reason)

***

## Export your catalog

1. In the Shopify Admin, open PopUp and go to **Products**
2. Select **Export CSV**
3. The file downloads to your device

The exported file includes all columns from the table above, plus `id (readonly)`. You can edit it and re-import to bulk-update your catalog.
