Shopify & WooCommerce Product CSV Validator and Auto-Fixer
Pricing
$590.00 / 1,000 product file validated (per 10,000 rows)s
Shopify & WooCommerce Product CSV Validator and Auto-Fixer
Pre-flight check for Shopify and WooCommerce product import CSV/XLSX files. Replays ~40 importer rules (Default Title trap, variation linking, duplicate SKUs, prices, image links, Excel mangling, mojibake), auto-fixes safe issues with a change log and splits importer-safe chunks.
Pricing
$590.00 / 1,000 product file validated (per 10,000 rows)s
Rating
0.0
(0)
Developer
Ricky Lee
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Pre-flight check for Shopify and WooCommerce product import CSV/XLSX files. It replays about 40 importer rules row by row (the Default Title trap, option and variation linking, duplicate SKUs, price formats, image links, Excel mangling, mojibake), auto-fixes the safe issues with a full change log, and splits big catalogs into importer-safe chunks that never cut a product in half.
Shopify's importer reports errors without a row or column, and can show "Import successful" while rows are dropped. WooCommerce can report "2490 products updated" while variations silently vanish. This Actor tells you, before you upload, exactly which row and column will fail, why, and what to change. Where a fix is safe and deterministic it writes the corrected file for you.
Features
- Both platforms in one tool: Shopify (current 2024+ template and the legacy
Handle / Variant Pricetemplate) and the WooCommerce core product CSV importer. The platform is detected from the header row, or you can force it. - Shopify structure checks: the
The variant 'Default Title' already existstrap (image rows that still carry variant columns), option names on the first row, missing or undeclared option values, duplicate option combinations, handles that Shopify would rewrite (Mug Big→mug-big), rows of one product split apart in the file, title on the first row, metafield column syntax, tag and title limits. - WooCommerce variation linking: variations with no Parent, a parent that isn't
variable, a parent listed after its variations, attribute names or values that the parent doesn't declare, duplicate attribute combinations, duplicate SKUs/IDs (the cause of silently skipped variations), variable products with no attributes or no variations. - Formats: prices with currency symbols (
$12.50), decimal commas (12,50→12.50, never1250), thousands separators, ambiguous values like1,234reported instead of guessed, integer stock and weights, TRUE/FALSE and 1/0 booleans, Status, inventory policy, weight units, sale dates (31/12/2026→2026-12-31), category>hierarchies, image lists. - Excel and encoding damage: mojibake (
Café→Café), Windows-1252 and UTF-16 files, BOM, semicolon/tab delimiters, scientific-notation SKUs and barcodes (1.23457E+12, expanded only when no digits were lost), barcodes that lost their leading zero (restored only when the GTIN check digit proves it), wrong check digits, line breaks and stray spaces in handles, SKUs and option values, ragged rows from unquoted commas. - Image links: Google Drive and Dropbox share links converted to direct links, missing
https://, spaces in URLs, local file paths. - Safe auto-fix: only deterministic repairs, each one logged in
CHANGELOG.csvwith row, column, old and new value. Anything that needs a judgement call is reported with a plain-English fix and left alone. - Importer-safe chunks: optional
FIXED_part_01..N.csvunder Shopify's 15 MB limit (or a row cap for WooCommerce). A Shopify handle or a WooCommerce parent with its variations is never split across files. - No store access: it never logs in to or touches your store. Your file is processed in memory and results stay in your run storage.
- Inputs: file URLs (including Google Drive, Dropbox and Google Sheets share links), XLSX, or pasted CSV. Works from the API, schedules, Make, Zapier and n8n.
Input
| Field | Description |
|---|---|
files | URLs of product CSV/TSV/XLSX files. Drive, Dropbox and Google Sheets share links work if anyone with the link can view. |
csvContent | Paste a CSV instead. The prefilled sample is a broken Shopify file; it is ignored when you also give URLs. |
fileName | Name used for pasted content. |
platform | auto (default), shopify or woocommerce. |
mode | validate_and_fix (default) writes FIXED.csv and CHANGELOG.csv; validate only reports. |
decimalComma | auto (default), yes (12,50 = 12.50) or no (1,234 = 1234). In auto, ambiguous values are reported, not changed. |
includeWarnings | List warnings as well as errors (default true). |
ignoreRules | Rule IDs to skip, e.g. shopify.sku.duplicate. |
splitChunks, chunkMaxRows, chunkMaxMb | Write importer-safe chunk files. |
delimiter, sheetName | Delimiter override; XLSX worksheet. |
Output
Dataset: one row per finding, then one file-summary row per file.
{"type": "finding", "file": "products.csv", "row": 3, "key": "cafe-mug","column": "Variant Inventory Policy, Variant Fulfillment Service, Variant Price, Variant Requires Shipping, Variant Taxable","rule": "shopify.variant.default_title_duplicate", "severity": "error","message": "Extra row for a product without options carries variant columns (...), so Shopify tries to create a second 'Default Title' variant and rejects the product.","importerMessage": "Validation failed: The variant 'Default Title' already exists.","value": "deny; manual; 12.50; TRUE; TRUE", "fix": "Cleared the variant columns on this image/continuation row.","fixable": true, "autoFixed": true, "newValue": "(cleared)"}
{"type": "file-summary", "file": "products.csv", "platform": "shopify", "template": "legacy", "rows": 5,"products": 3, "variants": 4, "errors": 7, "warnings": 6, "unfixedErrors": 2, "changesApplied": 15,"verdict": "2 error(s) need manual fixes", "findingsByRule": {"...": 1}, "billedEvents": 1}
row is the row number you see in Excel (the header is row 1). Severity error means the importer rejects the row or silently drops data; warning means the import works but the data is probably wrong.
Key-value store: <file>-FIXED.csv (UTF-8, comma-separated, original column order), <file>-CHANGELOG.csv (every edited cell), optional <file>-FIXED_part_NN.csv chunks, REPORT.html (readable report) and REPORT.json.
Pricing (pay per event)
| Event | Price |
|---|---|
| Product file validated (and auto-fixed), per started block of 10,000 rows | $0.59 |
A 3,000-row migration file costs $0.59; a 25,000-row catalog costs $1.77. Files that fail to download or parse are not charged. You pay the same whether the file is clean or broken.
Limits
- Files up to 50 MB. Legacy
.xlsfiles are not supported; save as.xlsxor CSV. - Shopify and WooCommerce don't publish machine-readable importer specs. Rules follow the public CSV documentation and the importers' observed behaviour. If you hit a false positive, add the rule ID to
ignoreRules. - Excel scientific-notation values that lost digits can't be recovered; re-export them with the column formatted as Text.