Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Configuration Language Lock 1.0.2 Minor update available for module config_language_lock (1.0.2). Release: Canvas Override 1.0.1 Minor update available for module canvas_override (1.0.1). Release: Media Remote Image 8.x-1.2 Minor update available for module media_entity_remote_image (8.x-1.2). Release: IDNA Convert Service (punycode) 2.0.4 Minor update available for module idna (2.0.4). Release: Bootstrap Cloud 7.1.3 Minor update available for theme bootstrap_cloud (7.1.3). Release: Token Browser 1.0.2 Minor update available for module token_browser (1.0.2). Release: Varbase Project 11.0.8 Minor update available for module varbase_project (11.0.8). Release: Media Remote Image 2.0.0-beta1 First beta version released for module media_entity_remote_image (2.0.0-beta1). Usage Milestone: Term CSV Export Import Module term_csv_export_import crossed 1,000 active installs. Security Coverage: Module Scout Module module_scout now has official Drupal security advisory coverage.

Commerce Product CSV Import/Export

2 sites No security coverage Drupal 10–11

Part of the Commerce ecosystem · 354 projects

View on drupal.org

This module allows you to import and export Drupal Commerce products using CSV files. You can use it to bulk create or update products, including their paragraph and taxonomy fields, and export existing product data back into CSV format. It automatically adapts to your product types and supports various field types, with features like sample CSV generation and batch processing for large files.

Commerce Product CSV Import/Export

Bulk create and update Drupal Commerce products — including their paragraph, taxonomy, file, and image fields — from a CSV file, and export existing products back to CSV. Ideal for catalog migrations, bulk price updates, and keeping product data in sync with an external spreadsheet or PIM.

Features

  • No hardcoded columns. The CSV column set is built automatically by introspecting each product type's actual field configuration (and its variation type) at runtime, so the module adapts as fields are added, removed, or changed — for any product type.
  • Import and export, per product type. Each Commerce product type gets its own import/export page, reachable from the product collection view.
  • Single or multi-variation products. Rows are matched to existing products by SKU. A matching SKU updates that variation; a new SKU creates one. Several new rows can share a grouping token in the product_id column to create one new product with multiple variations.
  • Rich field support. Plain text, number, boolean, and list fields; taxonomy term reference fields (terms are created automatically if missing); Commerce product attribute fields; long/rich text fields (HTML preserved); and paragraph reference fields, encoded as pipe- and double-colon-delimited values.
  • File and image field support. CSV columns can also target plain file/image fields, or entity_reference fields referencing a media bundle whose source is itself a file or image field (covers core's Image, File, Audio, and Video File media types). Each column takes one or more publicly reachable URLs, pipe-separated; the file is downloaded, validated against the field's own allowed extensions and maximum file size, and attached automatically on import — wrapped in a new media entity first when the field targets media. Export renders the same fields back out as public file URLs.
  • Sample CSV generator. Download a ready-to-edit sample CSV, pre-filled with placeholder values for every supported column on a given product type.
  • Batch processing. Imports run through Drupal's Batch API, so large CSV files don't hit PHP timeout or memory limits.
  • Inline column documentation. The import form lists every supported column with a description, plus a list of any fields that exist on the product type but aren't supported (and must be managed manually on the product edit form).

Requirements

Installation

Install as you would normally install a contributed Drupal module. See Installing Modules for further information.

Configuration

  1. Enable the module.
  2. Grant the Import and export products via CSV permission to the appropriate roles at Administration » People » Permissions.
  3. Go to Commerce » Products and use the Import / Export CSV action link, or visit /admin/commerce/products/csv directly, to choose a product type.

Usage

Exporting

On a product type's import/export page, click Export products to CSV to download every product of that type as a CSV file, or Download a sample CSV for a template with placeholder values and column documentation.

Importing

Upload a .csv file with a header row. At minimum, the header must include sku, title, and price_amount. Additional supported columns depend on the fields configured on that product type and are listed on the import form itself.

  • A row whose sku matches an existing variation updates that variation and its parent product.
  • A row with a new sku and a blank product_id creates a new, standalone product.
  • Several new rows sharing the same arbitrary product_id value (e.g. NEW-1) are grouped into a single new product with multiple variations.
  • Multi-value fields are pipe-delimited (value one|value two); paragraph fields encode each item's subfields joined with ::, with items separated by |.
  • Image and document columns take one or more publicly reachable URLs, pipe-separated; each is downloaded and attached to the field on import, whether it's a plain file/image field or a media reference field.

Depends on

Dependencies of the latest stable release

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
4
Tracked since
Jul 2026
Latest release
1 month ago
Releases (12 mo)
4 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
1.1.1 Stable 10–11 Jul 30, 2026
1.1.0 Stable 10–11 Jul 30, 2026
1.0.1 Stable 10–11 Jul 29, 2026
1.0.0 Stable 10–11 Jul 28, 2026