Free 30-Day Trial•No Credit Card Required•Claim Your Address →

Bulk Excel & CSV Import, Image Ingestion & Export

Migrate thousands of products with automated Cloudflare R2 image ingestion, Shopify/WooCommerce CSV support, and Excel exports

9 min read•Last updated October 2026
Open Import & Export Hub

The Dedicated Import & Export Hub (`/products/import-export`)

Managing large retail catalogs product-by-product is inefficient. Whether migrating from Shopify, WooCommerce, or an Instagram store, or synchronizing seasonal pricing across 1,000 items, Teyweb provides a dedicated import and export engine (`ProductImportExportPage.tsx`).

The workspace features 3 dedicated operational tabs:

- Bulk Import: Drag-and-drop spreadsheet upload with pre-import validation, quota checking, and dry-run metric breakdown.

- Export Catalog: Filtered downloads in Microsoft Excel (`.xlsx`) or RFC 4180 CSV (`.csv`) with full category and variant preservation.

- Column Guide: Detailed schema reference with downloadable official sample templates.

Two-Phase Safe Validation Guarantee (Dry Run)

Uploading a spreadsheet should never break your live store. Teyweb implements a strict **Safe Two-Phase Guarantee**:

1

Phase 1: Non-Destructive Dry Run

When you upload your spreadsheet (`.xlsx`, `.xls`, or `.csv` up to 25MB), Teyweb validates every row in memory. It verifies headers, parses numbers, checks data types, and inspects your active Subscription Plan product limit.

2

Review Metric Breakdown

The dashboard displays an analytical card breakdown: Total Rows, New Products to Create (+count), Existing Products to Update, Images Detected, and Skipped Rows.

3

Phase 2: Confirmed Commit

Nothing is written to your database until you review the validation metrics and click "Confirm & Import". If your file exceeds your subscription plan quota, Teyweb warns you before any changes are committed.

Automated Remote Image Ingestion into Cloudflare R2

One of the most tedious parts of migrating between e-commerce platforms is manually downloading and re-uploading product photos.

Teyweb features an automated **Remote Image Ingestion Pipeline** (`imageIngestion.ts`):

- Simply include public HTTP or HTTPS image URLs in the `Images` column (comma-separated for multiple images).

- When you confirm the import, Teyweb's ingestion worker automatically downloads each image in the background, validates the file format, converts it to modern WebP format, and uploads it directly to your store's private Cloudflare R2 asset bucket.

- Existing product photos are safely preserved, and failed image links are skipped gracefully without aborting the product creation.

CDN Optimization Automatic

Images ingested through spreadsheets receive the exact same Cloudflare edge CDN acceleration as images uploaded directly through the dashboard.

Shopify, WooCommerce & Native Spreadsheet Formats

Teyweb's smart parser recognizes column structures from major platforms without requiring you to manually rename headers:

- Shopify Product CSV: Standard Shopify product exports (with `Handle`, `Title`, `Body (HTML)`, `Variant Price`, `Image Src`, `Option1 Name`, etc.) are recognized and mapped automatically.

- WooCommerce Product CSV: Standard WooCommerce export spreadsheets with parent/child variant relationships are ingested seamlessly.

- Auto-Category Generation: If an imported product lists a category that does not yet exist in your store, Teyweb creates the category and slug automatically.

Complete Column Specifications & Variant Mapping

For maximum control, use Teyweb's native spreadsheet column schema (downloadable in Excel or CSV from the dashboard):

Teyweb Spreadsheet Column Reference
Column HeaderRequirementTypeDescription & Example
TitleRequiredStringThe display title of the product (e.g. "Classic Cotton T-Shirt").
PriceRequiredDecimalRetail price in base currency without symbols (e.g. `25000` or `25.00`).
StockOptionalIntegerAvailable inventory units. Defaults to 0 if left empty.
Cost PriceOptionalDecimalPrivate merchant COGS for profit margin tracking (e.g. `14000`).
Compare At PriceOptionalDecimalOriginal higher price to trigger discount badge (e.g. `30000`).
SKUOptionalStringStock Keeping Unit. Leading zeros are safely preserved (e.g. `00123-BLK-M`).
BarcodeOptionalStringUPC, EAN, or ISBN scanner barcode (e.g. `000123456789`).
CategoryOptionalStringCategory name. Automatically created if not found (e.g. "Menswear").
BrandOptionalStringManufacturer or brand label (e.g. "Teyweb Basics").
StatusOptionalEnum"active" or "archived". Defaults to "active".
ImagesOptionalURL ListComma-separated public HTTP/HTTPS URLs. Ingested automatically into Cloudflare R2.
Variant TitleOptionalStringCombination label for variant matrix rows (e.g. "Black / Large").
Variant OptionsOptionalJSONKey-value JSON option attributes (e.g. `{"Color":"Black","Size":"L"}`).
DescriptionOptionalText / HTMLRich product description and care guidelines.

Exporting Catalogs: Excel (.xlsx) vs CSV (.csv)

Under the "Export Catalog" tab, you can generate clean, structured catalog files for accounting, supplier reordering, or external marketing feeds:

- Microsoft Excel (.xlsx - Recommended): Features auto-calculated column widths, bold headers, formatted financial numbers, and text-formatted SKU/Barcode columns that strictly preserve leading zeros (preventing Excel from stripping initial zeroes like `00123`).

- Standard CSV (.csv): Standard RFC 4180 comma-separated values file compatible with legacy database utilities.

- Scope Filtering: Export your Complete Catalog, Active Listings Only, or Archived Items Only.

- Category Filtering: Filter exports to a specific product department or export all categories simultaneously.

Troubleshooting Common Import Errors

If the validation screen flags skipped rows, check the following common causes:

- Currency Symbols in Price: Ensure price columns contain only raw numbers (e.g., `18500`, not `₦18,500` or `$18.50`).

- Unreachable Image URLs: Image links must be publicly accessible over the internet without password protection. Local disk paths (e.g., `C:\Users\photos\item.jpg`) cannot be downloaded by servers.

- Subscription Plan Quota Exceeded: If your file contains 150 items but your Starter Plan limit is 50 items, upgrade to the Growth Plan in Subscription Settings or remove excess rows.

- Encoding Issues: When saving CSVs from third-party tools, ensure UTF-8 encoding is selected to preserve special symbols and accents.

Was this guide helpful?

Help us improve our merchant documentation by sharing your feedback.