How to Validate CSV Files Before ERP Import: A Step-by-Step Guide
A practical, step-by-step process for validating CSV catalog files before submitting them to your ERP — covering structure, data types, required fields, duplicates and encoding.
ImportCheck Team
Product · ImportCheck
Submitting a CSV file to an ERP without prior validation is the most common cause of import delays and data quality incidents. A structured pre-validation process — one that business users can run without developer involvement — eliminates the majority of errors before they ever reach the ERP. This guide walks through each step.
Step 1: Verify file structure
Before any data-level checks, confirm that the file itself is structurally sound. A structurally broken file will fail at every row, making row-level errors misleading or impossible to interpret.
- Confirm the separator (comma, semicolon, pipe) matches what the ERP expects
- Check that every row has the same number of columns as the header row
- Ensure there are no merged cells, hidden rows or extra sheets (applies to Excel exports)
- Verify the encoding — UTF-8 recommended; avoid UTF-8 BOM for most ERPs
Step 2: Check column names against the ERP specification
Column names in the CSV must match exactly what the ERP import template expects — case, spacing and special characters included. A column named "Product Code" and one named "product_code" are different columns to most import engines, even if they contain identical data.
⚠️Watch out for invisible characters
Column names copied from a PDF specification or an email sometimes contain non-breaking spaces or zero-width characters that are invisible in Excel but cause matching failures in the ERP. Always re-type critical column names manually rather than copy-pasting.
Step 3: Validate required fields for every row
Required fields must be populated on every row without exception. Run checks for both empty values and values that appear populated but are not valid — a single space, "N/A", "TBD" or a placeholder value from a template are all empty from the ERP's perspective.
| Field type | Common empty-value traps | Validation approach |
|---|---|---|
| Product reference (SKU) | "REF001" duplicated across rows as placeholder | Check uniqueness; flag any reference appearing more than once |
| Supplier code | Code from previous ERP no longer valid | Cross-check against active supplier list |
| Price | "0", empty, or formatted as text | Numeric check; reject zero prices unless explicitly allowed |
| Unit of measure | Free text with 12 spelling variants for the same unit | Validate against allowed values list |
Step 4: Check data types and formats
The ERP expects specific data types for each field. A price field expects a number; a date field expects a specific format; a yes/no field expects a controlled vocabulary. Type mismatches are a leading cause of row-level rejections.
- 1Numeric fields: verify no currency symbols, spaces or commas used as decimal separators unless your ERP uses comma-as-decimal notation
- 2Date fields: confirm format matches the ERP expectation — DD/MM/YYYY, YYYY-MM-DD, etc.
- 3Boolean fields: check that yes/no, true/false or 1/0 values are consistent and match the ERP vocabulary
- 4Code fields: verify against the reference lists maintained in the ERP — supplier codes, unit codes, category codes
Step 5: Detect and resolve duplicate rows
Duplicate product references in the same file will cause one of two outcomes: the ERP rejects the entire file, or it silently overwrites the first occurrence with the second. Both outcomes are damaging. Cross-row duplicate detection requires checking the entire column, not just adjacent rows — making it impractical to do reliably in Excel on large files.
Step 6: Review the validation report before submitting
Whether you use a dedicated tool or a manual checklist, the output of validation should be a structured report that identifies each error by row number, column name and error description — with a suggested fix where possible. A report that says "34 errors found" without specifying which rows and which fields is not actionable.
💡Target: zero errors before submission
Some teams aim for "few enough errors to be acceptable". This creates a moving target and allows the same types of errors to recur indefinitely. A clean file before submission is achievable and should be the standard.
Ready to stop ERP import errors before they happen?
Upload your catalog file and see exactly which rows will fail — in under 90 seconds. Free 14-day trial, no credit card.
Start free trial