Skip to content
Getting started

Import products and passports from a CSV file

Which importer to use, the columns each one reads, how duplicates and plan limits are handled, and how to check the result.

DPP Shield editorial team · Updated:

Use Products, Import CSV to create or update product identities from any spreadsheet or store export, with a column mapping and a preview before anything is saved. Use DPPs, Import to create a product and its first draft passport from each row of a template-based CSV.

Which importer to use

Products, Import CSV is for catalogue identities - an ERP export, a store export or a spreadsheet. It maps your columns to product fields, validates every row with the same rules as the product form and shows the outcome before you confirm. DPPs, Import goes one step further: each valid row creates a product and its first draft passport, with identifiers, manufacturer, carrier and availability filled from ordinary columns. Editors, administrators and owners can import.

The file

Both importers read the same kind of file.

What the importers accept

  • CSV or tab-separated text with a header row; comma, semicolon and tab delimiters are detected.
  • Up to 20 MB and 10,000 rows per file - split larger catalogues.
  • Shopify and WooCommerce product exports, uploaded as they are.
  • Text saved as UTF-8, so accented characters arrive intact.

Product columns

Required: Product name, SKU and Category (or a default category for rows without one). Optional: GTIN / EAN / UPC, Brand, Description, Manufacturer, Manufacturer country (ISO-2), Model number, Image URL, Manufacturer D-U-N-S, Importer, Importer country, Importer EORI, Authorized representative and Representative country.

Common header names are recognized in English, French, Spanish and German - Variant SKU, Barcode, Vendor, Artikelnummer and many more - and you can change any match in the mapping step. When a SKU already exists, choose whether the row is skipped or updates the product.

Passport columns

The passport importer reads name, sku, gtin, category, brand, manufacturer_name, manufacturer_country, manufacturer_address, manufacturer_contact, commodity_code, operator_identifier, operator_role, carrier_type, carrier_placement, placed_on_market_at, availability_until and backup_provider; name, sku and category are required. GTIN and manufacturer values are copied into the passport. Download the template for your category on the page to get every column with an example row.

Category-specific and custom fields go in the optional data_json column, as JSON keyed by the passport's data paths. Fill commodity_code and operator_identifier if you plan to submit the passports to the EU registry.

Validation and plan limits

Every row is checked like the form: required fields, GTIN check digit, two-letter country codes, duplicate SKU or GTIN. Before anything is written, the import checks your plan's product and category limits and says how many rows would exceed them. Each row then reports its outcome - created, updated, skipped or failed with the reason - so you can fix the failed rows and import only those again.

Step by step

  1. Download the template for your category, or export from your own system.
  2. Fill one row per product; keep SKUs exactly as your other systems write them.
  3. Upload the file and review the column matches and row errors.
  4. Confirm the import and read the per-row outcomes.
  5. Open DPPs, filter the drafts and run validation on the new passports.

Screen-by-screen reference

These pages were checked in the organization console on 8 October 2026 using an isolated sample organization. Controls can differ by role, plan, record state and configured providers. Each page below explains its purpose, a practical workflow, the visible controls and what to verify afterward.

Product CSV import (/products/import)

The importer accepts a product spreadsheet and shows a column mapping and preview before records are written.

Start with the template and select the category that matches the spreadsheet's products. The preview is the opportunity to fix column matches, duplicate identifiers, and row errors before an import writes catalogue identities. Afterward, inspect accepted and rejected counts and remember that passport drafts are a separate step.

Importing products alone does not create passport versions.

Controls and options

  • Choose a CSV file; download the template for the required and supported columns.
  • Review inferred column matches and row errors before confirming the import.
  • Use the example category selector when downloading a category-specific template.
  • Return to Products to inspect imported identities; import results report accepted and rejected rows.

Product and passport CSV import (/dpps/import)

Each valid row can create both a product and its first draft passport. The page explains standard identifier columns and optional structured data.

Use the category template or preview to validate identifiers and structured columns before writing records. Inspect row-level errors instead of assuming an import either entirely succeeds or entirely fails. Every accepted row creates a draft product/passport starting point; open those drafts to add missing evidence and run validation.

data_json is optional; use it only for category-specific or custom fields.

Controls and options

  • Upload or paste CSV, then Preview or paste CSV to inspect mapped fields and errors.
  • Download template for an example category to see required columns.
  • Import products and passports writes valid rows and reports per-row outcomes.
  • Open the resulting drafts to complete evidence, validation and publication review.