Getting Started with Product Import and Export
Why This Tutorial Matters
This tutorial shows you how to bulk create and update products using CSV import/export so you can launch collections faster, keep prices accurate, and reduce manual work.
Business Impact: Reduce manual data entry, speed up catalog launches, and standardize data quality to decrease returns and support tickets. By standardizing your import process you cut catalog update time from hours to minutes, reduce data errors that lead to returns, and accelerate campaign launches. Example: Updating 500 SKUs manually (30 seconds each) takes ~4 hours; with import (~10 minutes prep + ~5 minutes processing) it's ~15 minutes, saving >3.5 hours per update cycle.
What You'll Achieve: Set up a repeatable import/export workflow to bulk create, update, or retire products using CSV.
Learning Journey Overview
Your Situation
You need a reliable, fast way to add or update many products at once, keep images and attributes consistent, and ensure storefront accuracy after changes.
What You'll Learn
By completing this tutorial, you will:
- Export a product CSV template
- Prepare a valid CSV with required columns
- Import products and images
- Handle Multi-Source Inventory (MSI) source-level stock
- Verify results and troubleshoot common issues
Success Criteria
You'll know you've succeeded when:
- Import completes with 0 errors and all rows processed
- Products appear in the catalog with correct price, visibility, and images
- Category assignments and stock/salable quantity display as expected
- Indexers show "Ready" and the storefront reflects updates
Time Investment
- Estimated time: 25-45 minutes
- Skill level after completion: Confident with core product import/export and basic troubleshooting
- Business value unlock: Faster catalog updates, fewer errors, scalable operations
Before We Start
Who This Is For
This tutorial is designed for:
- Merchants and catalog managers who need to update many products at once
- Agencies onboarding catalogs from suppliers or migrating from another platform
- Ops teams maintaining seasonal price and inventory changes
What You Need
Make sure you have:
Admin Access
With permission to Import/Export (System > Permissions > User Roles)
CSV Editor
Google Sheets, Excel and ability to save UTF-8 CSV
Attribute Sets
Attribute sets and required attributes defined
Store Configuration
Website/store views created
File System Access
File system or SFTP access to place product images on the server (pub/media/import)
PHP Configuration
Sufficient PHP upload limits (upload_max_filesize and post_max_size greater than your CSV size)
Preparation Checklist
Before starting, complete these preparation steps:
- In Admin, export a small sample of products to get a valid header template (System > Data Transfer > Export > Entity Type: Products)
- Create/confirm attribute sets and required attributes (Stores > Attributes > Product; Stores > Attribute Set)
- Place product images on server: pub/media/import, and use those filenames in the CSV image columns
- Plan import behavior: Add/Update vs Replace vs Delete
- Schedule a maintenance window if importing thousands of SKUs
Step-by-Step Learning Path
Export a product CSV template
- 1. Go to Admin: System > Data Transfer > Export
- 2. Entity Type: Products. Optionally filter to export a small set
- 3. Click Continue and download the CSV. Use its headers as your template to avoid mapping errors
Prepare your CSV
Keep the exported headers exactly as-is; encode as UTF-8.
Include required fields for each product:
- sku, attribute_set_code, product_type (simple, configurable, virtual, downloadable, bundle, grouped)
- name, price, tax_class_name
- status (1 = Enabled, 2 = Disabled), visibility
- weight (required for shippable product types)
- categories (use full paths like "Default Category/Gear/Bags"; separate multiple with |)
- websites (use website codes, e.g., base)
- image, small_image, thumbnail, additional_images (filenames located in pub/media/import)
Tips
- Use exact attribute option labels or values that exist in your store. Create missing options before import
- For configurable products, prepare simple children first and plan configurable_variations if building via CSV (see Next Steps)
Import products
- 1. Go to System > Data Transfer > Import
- 2. Entity Type: Products
- 3. Import Behavior: Add/Update (recommended for upserts). Use Replace for full overwrites and Delete to remove products
- 4. Choose your CSV file. Click Check Data to validate. If successful, click Import
- 5. After import, check System > Tools > Cache Management and refresh caches if needed
(MSI) Import source items (quantities per source)
If you use Multi-Source Inventory:
- 1. Go to System > Data Transfer > Import
- 2. Entity Type: Stock Sources (source items)
- 3. Use a CSV with columns like: source_code, sku, quantity, status (1 = In Stock, 0 = Out of Stock)
- 4. Click Check Data, then Import
Verify results
- Confirm products in Catalog > Products and on the storefront
- Check System > Tools > Index Management; ensure indexers show Ready. Reindex if necessary
- Validate prices, visibility, categories, images, and salable quantity
Practice and Reinforcement
Now that you've learned the core process, let's reinforce your skills:
Export one existing product, duplicate the row with a new SKU, change name, price, and image; import using Add/Update; verify it appears on the storefront and is purchasable.
What You've Accomplished
Congratulations! You have successfully:
- Exported a product template and prepared a valid CSV
- Imported products with images using the Add/Update behavior
- Updated inventory at the source level (MSI) when applicable
- Verified indexers, caches, and storefront output
Business Impact
Your team can now perform bulk updates in minutes, reduce catalog errors, and accelerate campaign and product launches.
Skills Gained
You now have the ability to:
- Create and update products at scale via CSV
- Manage images and categories through data import
- Maintain MSI quantities using source item imports
- Validate and troubleshoot import results confidently
Next Steps in Your Journey
Now that you've mastered this process, here's how to build on your success:
Immediate Actions
- Document your import template and store it in version control
- Schedule monthly export snapshots for rollback and auditing
Level Up Your Skills
- Learn Advanced Pricing import to bulk manage tier and customer group prices
- Automate recurring imports via Scheduled Import/Export (if available) or CLI/cron-driven scripts
Advanced Applications
- Build configurable products from CSV using configurable_variations and configurable_variation_labels
- Run price promotions at scale by importing tier/group prices
- Schedule regular stock updates from supplier feeds to prevent oversells and lost sales
When Things Don't Go as Expected
Even experienced merchants encounter challenges. Here's how to handle common situations:
Solution
Ensure UTF-8 encoding, keep headers exact from the export template, and remove stray formulas or hidden characters.
Solution
Use Add/Update behavior or include a row that creates the missing SKU.
Solution
Place files in pub/media/import; ensure filenames and extensions in image/small_image/thumbnail/additional_images match exactly (case-sensitive). Refresh caches.
Solution
Use full category paths starting from Default Category and separate multiple paths with |. Verify categories exist.
Solution
Create the option first (Stores > Attributes > Product), then re-import.
Solution
Import source items with quantity and status = 1 (In Stock), and ensure products are assigned to the correct source and stock.
Solution
Increase PHP limits (upload_max_filesize, post_max_size, max_execution_time) or split the CSV into smaller batches.
Risk Mitigation
- Export a full product snapshot before major imports to enable rollback
- Test imports on a staging environment before running on production
Continue Learning
Related Tutorials
- Advanced Pricing Import (tier and group prices)
- Building Configurable Products via CSV
- Scheduled Imports/Exports and automation options
How-To Guides
- Fix common import errors
- Manage attribute sets and required attributes
Reference Materials
- Sample product CSV template
- MSI Source Items CSV format and field definitions
Summary
Key Takeaways
- Export first to get a valid template
- Keep headers exact and values valid to avoid mapping errors
- Use Add/Update for safe upserts; Replace for full overwrites
- Store images in pub/media/import and reference filenames in CSV
- Verify indexers and storefront after import
Remember
- Always back up with an export before bulk changes, and test on staging when possible