← Back to CatalogDock

CatalogDock — CSV check and automatic fixes

Demonstration report generated from a synthetic CSV (fictional products). It is not customer data.
File: demo-catalog.csv · SHA-256: f6c70d463719a5129dc17caa96c3d47f2e97276272331c8b0dde03ed720857c8
Delimiter: , · UTF-8 BOM: no · Generated: 2026-10-01T20:53:20.128Z · Tool version 0.2.0, rules checked against WooCommerce 11.1.2
Structural checks for the supported scenario passed
58
CSV records
58
Product records
7
Parents (variable)
47
Variations
4
Other products
8
Errors found
8
Errors fixed
0
Errors remaining
0
Warnings after fixes
0
Unsupported scenarios

"Errors found" counts errors in the original file. "Errors fixed" and "Errors remaining" come from the re-check of the corrected data for the whole file. The free sample CSV contains only the selected groups (50 of 58 product records); it is not the complete corrected file. These counters refer to the whole processed file.

Next steps

  1. No blocking problems remain after the automatic fixes. The free sample covers 50 of 58 product records. The complete corrected file, its UTF-8 BOM copy and the ZIP of import batches are available online after purchase (Full processing). Before importing everything, test a few products on a staging copy of your store.

Supported scenario: Creating new products with the built-in WooCommerce CSV importer (Products → Import, without "Update existing products"). Parents (variable) and variations (variation) in one file, linked by SKU in the Parent column, local attributes. Passing these checks does not guarantee a successful import into every store.

Free sample

Free sample: 9 product groups, 50 of 58 product records. This is not your complete catalogue.

The sample contains only whole product groups (a parent with all of its variations, or a standalone product) that pass all checks after the automatic fixes. It was re-checked before being offered.

Automatic fixes

Value changes: 2. Moved records: 7. These are the changes full processing applies to the whole file.

Value changes

Original recordSKUFieldBeforeAfterReason
11000210-MParent·000210000210Leading/trailing spaces in Parent; without them the value unambiguously points to the parent in record #9.
12000210-LParent000210·000210Leading/trailing spaces in Parent; without them the value unambiguously points to the parent in record #9.

Reordering

Original recordSKUOld positionNew positionReason
8TEE-10082Position shifted because variations were moved; relative order is preserved.
2TEE-100-S-W23Variation moved directly after its parent (original record #8).
3TEE-100-S-B34Variation moved directly after its parent (original record #8).
4TEE-100-M-W45Variation moved directly after its parent (original record #8).
5TEE-100-M-B56Variation moved directly after its parent (original record #8).
6TEE-100-L-W67Variation moved directly after its parent (original record #8).
7TEE-100-L-B78Variation moved directly after its parent (original record #8).

After automatic fixes (re-check)

No blocking problems after automatic fixes

After automatic fixes, no blocking problems remain in the supported scenario.

Record numbers below refer to the corrected order; "Original record" is the number in your original file.

LevelCodeRecordOriginal recordFile linesSKUFieldExplanationRecommended action
Info UNKNOWN_COLUMN —— — — Supplier note The column "Supplier note" is not part of the built-in schema, so WooCommerce does not import it by default. Its values are kept unchanged. If it is a custom field, rename the column to "meta:your_key" or choose "Import as meta data" on the column mapping screen.

Problems in the original file

LevelCodeRecordFile linesSKUFieldExplanationRecommended action
Error VARIATION_BEFORE_PARENT
auto-fixed in processed result
2 3 TEE-100-S-W Parent The variation (record #2) comes before its parent (record #8). WooCommerce creates a temporary placeholder parent without attributes, and the variation's attributes are lost. Fixed automatically: rows are reordered so the parent comes before its variations.
Error VARIATION_BEFORE_PARENT
auto-fixed in processed result
3 4 TEE-100-S-B Parent The variation (record #3) comes before its parent (record #8). WooCommerce creates a temporary placeholder parent without attributes, and the variation's attributes are lost. Fixed automatically: rows are reordered so the parent comes before its variations.
Error VARIATION_BEFORE_PARENT
auto-fixed in processed result
4 5 TEE-100-M-W Parent The variation (record #4) comes before its parent (record #8). WooCommerce creates a temporary placeholder parent without attributes, and the variation's attributes are lost. Fixed automatically: rows are reordered so the parent comes before its variations.
Error VARIATION_BEFORE_PARENT
auto-fixed in processed result
5 6 TEE-100-M-B Parent The variation (record #5) comes before its parent (record #8). WooCommerce creates a temporary placeholder parent without attributes, and the variation's attributes are lost. Fixed automatically: rows are reordered so the parent comes before its variations.
Error VARIATION_BEFORE_PARENT
auto-fixed in processed result
6 7 TEE-100-L-W Parent The variation (record #6) comes before its parent (record #8). WooCommerce creates a temporary placeholder parent without attributes, and the variation's attributes are lost. Fixed automatically: rows are reordered so the parent comes before its variations.
Error VARIATION_BEFORE_PARENT
auto-fixed in processed result
7 8 TEE-100-L-B Parent The variation (record #7) comes before its parent (record #8). WooCommerce creates a temporary placeholder parent without attributes, and the variation's attributes are lost. Fixed automatically: rows are reordered so the parent comes before its variations.
Error PARENT_WHITESPACE
auto-fixed in processed result
11 15 000210-M Parent Parent " 000210" has leading or trailing spaces and does not exactly match any SKU. Without the spaces it unambiguously points to record #9 ("000210"). Fixed automatically: the spaces are removed from Parent; the parent SKU is not changed.
Error PARENT_WHITESPACE
auto-fixed in processed result
12 16 000210-L Parent Parent "000210 " has leading or trailing spaces and does not exactly match any SKU. Without the spaces it unambiguously points to record #9 ("000210"). Fixed automatically: the spaces are removed from Parent; the parent SKU is not changed.
Info UNKNOWN_COLUMN — — — Supplier note The column "Supplier note" is not part of the built-in schema, so WooCommerce does not import it by default. Its values are kept unchanged. If it is a custom field, rename the column to "meta:your_key" or choose "Import as meta data" on the column mapping screen.

What cannot be checked without your store