jithox / csv preflightSample · synthetic

Sample report — Shopify CSV Import Preflight

DEMONSTRATION — entirely synthetic, not a customer result. File synthetic_broken.csv (8 rows, 3 products, 5 variants, 5 image rows; mode update). All handles, SKUs, brands and URLs are made up. This is the literal output of the same check a customer file receives, plus the plain-language summary a person writes alongside it.

Verdict: BLOCKED — do not import (11 blocking, 8 warnings)

Plain-language summary

Do not import this file yet. Shopify would reject at least three rows (invalid price, invalid image URL, blank status) and — more seriously — the product blue-tee would end up with a variant without an option value and a duplicate SKU, while in update mode blank cells overwrite existing descriptions, vendors and tags with blanks. No corrected copy was written: four blocking points (duplicate handle, handle with spaces, which variant keeps SKU SYN-TEE-S-BLU, deleting the stray row 9) need a decision from the owner. The safe corrections (decimal comma on row 4) are applied in the rerun after those decisions.

Findings

RowColumnSeverityFindingRecommended action
9URL handleBLOCKINGHandle 'blue-tee' reappears after other products (non-contiguous block)Group all rows of a handle together; a split block is treated as a duplicate product definition.
9TitleWARNINGTitle repeated on variant rows of 'blue-tee'Allowed, but Shopify's template leaves Title blank on variant rows; repeated titles often indicate a duplicated product row.
2BarcodeWARNINGBlank non-required cells on first row of 'blue-tee' will OVERWRITE existing values with blankShopify: 'If a non-required column ... is blank, then the matching value ... is overwritten as blank.' Fill the values or delete the whole column before importing with Overwrite.
4PriceWARNINGPrice '19,99' uses a decimal commaSafe fix: convert to dot decimal (19,99 -> 19.99). Shopify reads '19,99' as invalid.
5Option1 valueBLOCKINGVariant row has an empty Option1 valueEvery variant needs an Option1 value ('Default Title' for a single-variant product); Shopify rejects or collapses the variant otherwise.
6URL handleBLOCKINGHandle 'Red Mug 2024' is not a valid Shopify handleUse lowercase letters, numbers and dashes only, no spaces (e.g. 'blue-tee'). Changing a handle changes the product URL — decide, do not auto-fix.
6TitleBLOCKINGFirst row of handle 'Red Mug 2024' has no TitleTitle is required on the first row of every product (Shopify: required column).
6SEO title,SEO description,Compare-at price,BarcodeWARNINGBlank non-required cells on first row of 'Red Mug 2024' will OVERWRITE existing values with blankShopify: 'If a non-required column ... is blank, then the matching value ... is overwritten as blank.' Fill the values or delete the whole column before importing with Overwrite.
6Option1 valueBLOCKINGOption1 value '350 ml' but Option1 name is empty on the product's first rowSet the option name (e.g. Size) on the first row of the handle.
6PriceBLOCKINGInvalid price 'abc'Use a plain number with up to 2 decimals, e.g. 19.99.
6Product image URLBLOCKINGImage file name ends in _thumb/_small/_mediumShopify rejects these suffixes; use the original file name.
7StatusBLOCKINGStatus column present but emptyShopify: 'If this column is present, then it needs a value' (active|draft|archived).
7SEO title,SEO description,Compare-at price,BarcodeWARNINGBlank non-required cells on first row of 'red-mug' will OVERWRITE existing values with blankShopify: 'If a non-required column ... is blank, then the matching value ... is overwritten as blank.' Fill the values or delete the whole column before importing with Overwrite.
7Product image URLBLOCKINGInvalid image URL 'htp:/broken url/red-mug.jpg'Must be a public http(s) URL without spaces (upload to Content > Files and copy the link).
8Tags,SEO title,SEO description,Compare-at price,BarcodeWARNINGBlank non-required cells on first row of 'green-cap' will OVERWRITE existing values with blankShopify: 'If a non-required column ... is blank, then the matching value ... is overwritten as blank.' Fill the values or delete the whole column before importing with Overwrite.
8PriceWARNINGEmpty priceShopify defaults an empty price to 0.00 — the variant becomes free. Fill it in.
8Inventory quantityWARNINGTracked variant with empty quantityShopify defaults to 0 — the variant imports as out of stock.
4SKUBLOCKINGDuplicate SKU 'SYN-TEE-S-BLU' on rows [2, 4] (handles ['blue-tee'])SKUs should be unique per variant; duplicates break inventory sync and most fulfilment integrations. Decide which variant keeps the SKU.
7SKUBLOCKINGDuplicate SKU 'SYN-MUG-350' on rows [6, 7] (handles ['Red Mug 2024', 'red-mug'])SKUs should be unique per variant; duplicates break inventory sync and most fulfilment integrations. Decide which variant keeps the SKU.

Not verifiable offline (UNKNOWN)

Corrected copy

Not written: blocking findings remain that require a decision from the owner (handles, options, SKUs, rows). After those decisions there is one rerun; only mechanical corrections (whitespace, decimal commas, currency symbols, capitalisation of true/false/status values, exact duplicate rows) go into the copy.

This report is a diagnosis based on the submitted file and Shopify’s documented import rules. It is no guarantee that Shopify will accept any import. Jithox does not import anything, does not log in and has no access to your store. Shopify is a trademark of Shopify Inc.; Jithox is not affiliated with Shopify.

← Back to the offer