Why CSV Imports Still Matter
Despite all of Shopify's built-in inventory management features, CSV imports remain one of the most common ways store owners update their stock levels. Whether you're receiving a new shipment, doing a stock count, or migrating data, understanding the CSV format is essential.
The challenge is that Shopify's CSV format has specific requirements that aren't always obvious. One misnamed column or wrongly formatted value can cause an entire import to fail — or worse, silently import incorrect data.
The Columns Shopify Expects
Shopify's product CSV uses a specific set of columns. For inventory management, these are the ones that matter most:
Required columns:
- Handle — The URL-friendly name for the product (e.g.,
wireless-headphones-black). This is how Shopify identifies which product you're updating. Every row needs a handle, and variants of the same product share the same handle. - Title — The product display name. Only required on the first variant row for each product.
- Variant SKU — The unique stock keeping unit identifier. This is what connects your supplier's packing list to your Shopify catalog.
- Variant Inventory Qty — The quantity to set for this variant. Note: this column is used during initial import. For ongoing inventory updates, you'll often use the "On hand" quantity in the inventory CSV instead.
Important optional columns:
- Variant Price — The selling price for the variant.
- Variant Barcode — UPC, EAN, or ISBN barcode for the variant.
- Option1 Name / Option1 Value — For products with variants (size, color, etc.).
- Variant Inventory Policy — Set to
denyto prevent overselling, orcontinueto allow it. - Status — Set to
active,draft, orarchived.
For inventory-only updates using Shopify's dedicated inventory CSV, the format is simpler. You need just the Handle, Title, and location-specific quantity columns like On hand.
Common Mistakes When Importing
1. Wrong column headers
Shopify is strict about column names. SKU won't work — it must be Variant SKU. Quantity won't work — it must be Variant Inventory Qty. Even small differences like capitalization or extra spaces will cause problems.
2. Missing handles for variants
If your product has multiple variants (sizes, colors), each variant needs its own row, and every row must include the handle. Leave the Title blank on variant rows after the first one — but never leave the Handle blank.
3. Encoding issues
Shopify expects UTF-8 encoded CSV files. If you're creating the file in Excel, watch out for special characters in product names. Accented characters, em dashes, and smart quotes can cause encoding problems. Always save as "CSV UTF-8" rather than just "CSV".
4. Quantity formatting
Quantities must be whole numbers. No decimals, no commas, no units. Just 45, not 45.0 or 45 units.
5. Duplicate handles with conflicting data
If two rows have the same handle and the same variant options, Shopify may overwrite or skip data unpredictably. Make sure each row represents a unique product-variant combination.
6. Forgetting inventory locations
If you use multiple Shopify locations, the inventory CSV includes separate columns for each location's quantity. Importing without specifying the right location can set inventory to zero at locations you didn't intend to change.
A Step-by-Step Import Guide
Here's the reliable process for importing inventory into Shopify:
Step 1: Prepare your data. Make sure you have the correct SKUs, quantities, and product handles. Cross-reference with your supplier's packing list to ensure accuracy.
Step 2: Format your CSV. Use the exact column headers Shopify expects. If updating existing products, you only need Handle, Title, and the relevant quantity or SKU columns.
Step 3: Validate before importing. Open your CSV in a text editor (not Excel) to check for encoding issues. Make sure there are no extra commas, missing values, or malformed rows.
Step 4: Use Shopify's import tool. Go to Products > Import in your Shopify admin. Upload your CSV file. Shopify will show a preview of the changes. Review this carefully before confirming.
Step 5: Verify after import. Check a few products in your store to confirm the quantities updated correctly. Look for any products that might have been skipped or imported with wrong values.
How ParsePack Generates the Perfect CSV
The hardest part of CSV imports is getting the format exactly right — and that's where automation helps most.
When you upload a supplier packing list to ParsePack, the AI extracts all the product data (SKUs, descriptions, quantities) and presents it in an editable table. You can review and correct anything before exporting.
When you export, ParsePack generates a CSV that's already formatted for your target platform. Select "Shopify" as your export format, and you get a file with the exact column headers, proper encoding, and correct data formatting that Shopify expects.
No more manually mapping columns, fixing encoding issues, or debugging failed imports. The CSV is ready to upload directly to your Shopify admin.
This is especially valuable when you're processing packing lists from multiple suppliers who all use different document formats. ParsePack normalizes everything into a clean, consistent output regardless of what the source document looks like.
Tips for Ongoing Inventory Management
- Keep your SKUs consistent. Make sure the SKUs in your Shopify catalog match the ones your suppliers use. If they don't, maintain a mapping somewhere and update it regularly.
- Import regularly, not in bulk. Processing each shipment as it arrives is more manageable and less error-prone than letting documents pile up.
- Always review before importing. Even with automated tools, spend 30 seconds scanning the data before hitting import. It's much easier to catch an error before it's in your system.
- Back up first. Before any large inventory import, export your current inventory as a backup. If something goes wrong, you can restore it.
Whether you're handling your first Shopify inventory import or your thousandth, having the right process makes all the difference. And tools like ParsePack can eliminate the most tedious and error-prone parts of that process entirely.