Import
Importing Products
The Import module lets you bulk-add products to your catalog from a CSV file or directly from your connected Shopify store — bypassing manual one-by-one entry when you have an existing product list.
Purpose
Import is a one-way ingestion pipeline. It creates new product records in PassportBox; it does not modify or delete existing products, and it never pushes data back to Shopify or any external source. Use it when you already have a structured product list and want to seed your catalog quickly.
When to Use
You are onboarding and have an existing product spreadsheet from an ERP, Shopify, or internal system.
You want to add dozens or hundreds of products without entering each one manually.
You are migrating from another platform and can export a CSV from it.
You want to pull selected products from Shopify into PassportBox to generate Digital Passports for them.
Prerequisites
An active PassportBox account on Starter plan or above.
For CSV import: a .csv file with at least the sku and name columns populated.
For Shopify import: your Shopify domain configured in Settings → Organization tab before visiting this page.
CSV Import — Step by Step
- 1
Prepare your CSV file
Create or export a .csv file with a header row. The sku and name columns are required. The description and category columns are optional but recommended. Remove any extra columns that do not match the expected schema — they will be ignored.
- 2
Navigate to Import
Go to /dashboard/import in the left sidebar. The page opens on the CSV Upload tab by default.
- 3
Upload your file
Click the upload area or drag your .csv file onto it. The file is parsed client-side and a row preview appears before submission.
- 4
Review the preview
Scan the row preview for any obvious issues: blank SKUs, missing names, or unexpected column mapping. Fix your file and re-upload if needed.
- 5
Click "Import"
The system calls POST /products/import/csv with the parsed rows. A results panel appears showing how many rows were imported, skipped, or errored.
- 6
Review results
Check the imported count, skipped count, and any error messages. Rows with errors list the specific SKU and reason so you can fix and re-import only those rows.
CSV File Format
Your file must be UTF-8 encoded with a comma delimiter. The first row must be a header row with column names exactly as shown below.
| Column | Required | Description |
|---|---|---|
sku | Yes | Unique product identifier. Must be non-empty. Duplicate SKUs already in your catalog are skipped. |
name | Yes | Human-readable product name. Must be non-empty. |
description | No | Free-text product description. Accepts plain text; line breaks are normalized. |
category | No | Product category label. Used for filtering on the Products page. |
Example rows
sku,name,description,category SHIRT-001,Organic Cotton T-Shirt,"100% GOTS-certified cotton, unisex fit",Apparel SHOE-042,Trail Runner Pro,Waterproof trail shoe with recycled midsole,Footwear BAG-007,Canvas Tote,,Accessories
Shopify Import — Step by Step
Shopify Sync requires your Shopify domain to be saved in Settings → Organization before you open this tab. The tab will show an error if the domain is missing.
- 1
Configure your Shopify domain
Go to Settings → Organization tab and enter your Shopify store domain in the format yourstore.myshopify.com. Save the settings before continuing.
- 2
Open the Shopify Sync tab
Navigate to /dashboard/import and click the Shopify Sync tab. PassportBox fetches the list of products available in your Shopify store.
- 3
Select products to import
Use the checkboxes to select the products you want to bring into PassportBox. You can select individual products or use the select-all checkbox.
- 4
Click "Import Selected"
The system calls POST /products/import/shopify with the selected product IDs. Imported products appear in your Products catalog immediately.
Shopify Sync is read-only. PassportBox imports product data from Shopify but never writes changes back to your Shopify store. Editing a product in PassportBox after import has no effect on Shopify.
Import Results
After every import attempt, the results panel reports three counters:
importedRows that were successfully created as new product records. Each imported row is immediately visible on the Products page.
skippedRows that were silently ignored because the SKU already exists in your catalog, or because required fields (sku or name) were blank. Skipped rows do not update existing products.
errorsRows that failed processing due to a structural problem (e.g., malformed data). Each error entry lists the affected SKU and a human-readable reason.
After Import
Imported products appear immediately on the Products page at /dashboard/products. From there you can:
Edit individual product records to add materials, certifications, and supplier links.
Create a Digital Product Passport for any imported product.
Filter and search the catalog by category or name to find specific SKUs.
Validation Rules and Edge Cases
Duplicate SKU
If a row's SKU matches an existing product in your catalog, the row is counted as skipped. The existing product is not overwritten or modified.
Missing required field
Rows where sku or name is blank are skipped. They appear in the skipped counter, not the error counter, because they are structurally valid CSV rows with missing values.
Plan product limit reached
If adding all remaining rows would exceed your plan's product count limit, PassportBox imports rows in order until the limit is hit. Remaining rows are skipped with a plan-limit reason. Upgrade your plan to import more.
File encoding
Only UTF-8 encoded files are accepted. Files exported from Excel on Windows may be UTF-16 or Windows-1252 encoded. Re-save as UTF-8 CSV before uploading.
Extra columns
Columns not in the expected schema (sku, name, description, category) are silently ignored. They do not cause errors.
What Success Looks Like
The results panel shows imported > 0 with skipped and errors both at 0 (or explained).
The Products page product count increased by the number of imported rows.
Each imported product is searchable by SKU or name on the Products page.
No error messages remain in the results panel that reference unexpected data.
Troubleshooting
File rejected as wrong format
Only .csv files are accepted. If you have an Excel .xlsx file, open it in Excel or Google Sheets and use File → Download → CSV (.csv) to convert it before uploading.
Shopify tab shows "Shopify not connected"
Go to Settings → Organization tab and enter your Shopify domain in the format yourstore.myshopify.com. Save, then return to Import and reload the Shopify tab.
Plan limit hit mid-import
Some rows imported and the rest were skipped with a plan-limit reason. Upgrade your plan in Settings → Billing to increase the product limit, then re-import the remaining rows.
All rows show as skipped (0 imported)
This usually means all SKUs in your file already exist in your catalog, or all rows are missing sku or name values. Check the header row spelling and confirm the SKUs are not already present under Products.
Shopify products list is empty
Confirm that your Shopify store has published products and that the domain entered in Settings matches the store you expect. If the store uses a custom domain, use the underlying .myshopify.com domain instead.