Back to CertaCart

CSV WORKFLOW GUIDE

Dry-run a GPSR CSV before it changes WooCommerce data.

CertaCart Pro separates CSV validation from apply so merchants can review row matching, field errors, and clearing behaviour before writing product data.

CSV template format: Pro 1.0.3–1.0.4

The blank template contains only the header row. The example contains two fictional products, not verified safety or operator information. Replace every example value and identifier before use. Never apply the example unchanged to a live catalogue.

UTF-8 with BOM, comma-separated, one header row. Preserve SKUs as text in your spreadsheet editor. Quote cells containing commas or line breaks and save as CSV, not XLSX. These files work with Pro 1.0.3 and 1.0.4. Use Pro 1.0.4 for the import safeguards described here. Preview your file before applying it.

Supported fields and values

Matching
product_id or sku. At least one of these headers is required. Products must already exist.
Choice fields (lowercase)
targets_eu, display_information: inherit / yes / no. manufacturer_in_eu: inherit / unknown / yes / no. safety_state: unreviewed / provided / not_applicable.
Manufacturer and responsible person
manufacturer_name, manufacturer_address, manufacturer_email, manufacturer_url, responsible_person_name, responsible_person_address, responsible_person_email, responsible_person_url.
Product, safety and evidence
product_identifier, safety_warning, safety_information_url, internal_evidence_note.
Contact validation
Non-empty emails must be valid. URLs must pass WordPress HTTP(S) URL validation; invalid values are rejected rather than used to clear existing data.

Prepare stable identifiers

Use Product ID or SKU as the match key and make sure SKUs are unique and preserved as text when leading zeros matter. Keep a backup and run the first import on staging when practical.

The Free report export is a findings report, not a Pro product-information import template. Use the template on this page and keep one row per product. Premium 1.0.4 rejects duplicate target rows rather than applying successive changes to the same product.

When product_id and sku both resolve to different products, the row is skipped. If product_id is invalid or missing from the store but sku matches, the importer can fall back to sku and reports a warning. Use one identifier column when possible.

Use the dry run as the decision point

Uploads are limited to 5 MB and preview supports up to 10,000 data rows. Apply supports at most 1,000 rows. Review matching, invalid fields and proposed changes. Unknown columns are not imported and require explicit acknowledgement; correct misspelled headers rather than acknowledging unintentionally omitted data.

Treat blank and clear as different actions

Blank cells leave existing values unchanged unless explicit clearing is enabled. This protects against accidental deletion but makes the chosen clearing mode an important part of the import review.

With clearing enabled, blank text/contact fields become empty. Blank targets_eu, display_information and manufacturer_in_eu reset to inherit; blank safety_state resets to unreviewed. Omitted columns are never cleared.

Apply in bounded requests

Premium 1.0.4 rejects a file with more than 1,000 data rows before writing any rows. Split larger files and preview each file separately.

Preview your file before applying it. The preview lasts 15 minutes and can only be applied by the same user. If you change the file or the clearing option, preview it again. A row is saved only if all its fields pass validation and the write succeeds. Other rows may still fail, so check the results after importing.

Concurrent changes are checked against the preview snapshot. Review applied, unchanged, conflict, invalid, failed and cancelled outcomes before deciding whether to prepare a new import. Re-submitting the same operation does not apply it twice.

CSV apply has no Undo

Create a current database backup before applying a material import. CertaCart’s conflict-safe Undo covers supported profile operations, not CSV apply.

For Pro 1.0.4. Update older versions before following this guide.

Install Free on WordPress.org