Validation Engine

Validation Rules

Complete reference of every rule applied by the ImportCheck validation engine. Each rule has a severity level, the affected column and a recommended fix.

Severity levels

Error

Blocks the ERP import. Must be fixed before importing.

Warning

May cause issues in some ERP systems. Recommended to fix.

Info

Informational notice. No action required.

Structure

MISSING_HEADERerrorcolumn: all

A required column header is missing from the file.

Fix: Add the missing column to the header row. Check for typos and extra spaces.

EXTRA_COLUMNSinfocolumn: all

The file contains columns not part of the required set.

Fix: No action needed. Extra columns are ignored during validation.

PARSE_ERRORerrorcolumn: row-level

A row could not be parsed (wrong number of columns, unclosed quotes, etc.).

Fix: Check that values containing the separator character are wrapped in double quotes.

EMPTY_FILEerrorcolumn: file-level

The file contains no data rows (header only or completely empty).

Fix: Ensure at least one data row is present below the header.

SKU

EMPTY_SKUerrorcolumn: sku

The sku column is empty for this row.

Fix: Every product must have a non-empty unique reference.

DUPLICATE_SKUerrorcolumn: sku

This SKU value appears more than once in the file.

Fix: Remove or rename duplicate SKUs. Each product reference must be unique.

WHITESPACE_SKUwarningcolumn: sku

The SKU value has leading or trailing whitespace.

Fix: Trim the SKU value. Some ERP importers treat " REF001" and "REF001" as different products.

Name

EMPTY_NAMEerrorcolumn: name

The name column is empty for this row.

Fix: Every product must have a non-empty name.

NAME_TOO_LONGwarningcolumn: name

The product name exceeds 255 characters.

Fix: Shorten the product name. Many ERP systems limit product names to 255 characters.

Price

EMPTY_PRICEerrorcolumn: price

The price column is empty for this row.

Fix: Provide a valid price. Use 0 only if the product is genuinely free.

INVALID_PRICEerrorcolumn: price

The price value is not a valid number, is negative, or is zero.

Fix: Use a positive numeric value. Remove currency symbols, spaces and thousands separators.

PRICE_FORMATwarningcolumn: price

The price uses a comma as the decimal separator (e.g. 49,90).

Fix: Replace the comma with a dot (49.90). Some ERP importers do not accept comma decimals.

VAT Rate

EMPTY_VATerrorcolumn: vat_rate

The vat_rate column is empty for this row.

Fix: Provide a valid VAT rate.

INVALID_VATerrorcolumn: vat_rate

The VAT rate is not one of the allowed values: 0, 2.1, 5.5, 10, 20.

Fix: Use one of the authorised French VAT rates. Remove the % symbol if present.

Stock

EMPTY_STOCKwarningcolumn: stock

The stock column is empty for this row.

Fix: Provide a numeric stock value. Use 0 for out-of-stock products.

INVALID_STOCKerrorcolumn: stock

The stock value is not a non-negative integer.

Fix: Use a whole number ≥ 0. Remove decimal points, text and negative signs.