Skip to main content
This guide helps you diagnose and resolve common import problems.

Common errors and solutions

Missing required columns

Error: Required column 'productSku' is not mapped Cause: Your file doesn’t have a column mapped to a required field. Solution:
  1. Check that your file has a column containing product SKUs
  2. The column might have a different name (e.g., “Part Number”, “Item Code”)
  3. In the mapping step, manually map your column to productSku
Required columns vary by import type. For BOM imports, productSku and quantity are always required.

Invalid unit codes

Error: Unknown unit 'kilogrammes' Cause: Your unit values don’t match Variable’s standard units. Solution:
  1. In the value mapping step, map your unit to a standard Variable unit
  2. Common mappings:
    • kilogrammes to kg
    • pieces or units to pcs
    • square meters to m2

Date format issues

Error: Invalid date format in column 'startDate' Cause: Variable couldn’t parse your date values, or the Date format dropdown doesn’t match the format in your file. Solution:
  1. On the column-mapping screen, set the Date format dropdown to match your file (Day / Month / Year, Month / Day / Year, Year / Month / Day, Year Month, Month Year, or ISO 8601).
  2. Make sure every row in the same date column uses the same format - mixed formats in one column will fail.
  3. See Date format for the full list of accepted variations within each option.
Mixing date formats in the same column will cause parsing errors. Clean your data so every value in the column uses the same format before importing.

Decimal separator problems

Error: Quantities appear wrong (e.g., 1234 instead of 1.234) Cause: Wrong decimal separator selected. Solution:
  1. Check your file’s number format:
    • US/UK: 1,234.56 (comma for thousands, period for decimals)
    • European: 1.234,56 (period for thousands, comma for decimals)
  2. Select the correct decimal separator in the import settings

Empty or whitespace-only values

Error: Required value missing in row 47 Cause: A required field has empty or whitespace-only values. Solution:
  1. Check your source file for empty cells in required columns
  2. Remove or fill in missing values before re-importing
  3. Consider whether the row should be included at all

Duplicate handling (idempotency)

Variable is designed to handle re-imports safely. Understanding how deduplication works helps avoid unexpected results.

Product deduplication

Products are matched by SKU within your company:
  • Same SKU = same product (reused, not duplicated)
  • Different SKU = different product (new one created)
Re-imports do not update existing products. When a matching SKU is found, Variable reuses the existing record but does not overwrite its name, supplier, or other fields with the newer values from your file. If you’ve fixed data in your source file and want those changes to land, edit the existing items directly in the app or via the API.

Input deduplication

Inputs are only added to products when:
  • The product was created during this import, OR
  • The product has type UNKNOWN, OR
  • The product has no existing inputs
Why is my product not getting new inputs? If a product is already LIVE with inputs, it’s considered “fully modeled” and won’t receive additional inputs from re-imports. Solution:
  1. Change the product to UNKNOWN before re-importing
  2. Or add inputs manually through the UI
  3. Or create inputs via the API
This behavior prevents accidental duplication when re-running imports. It’s a safety feature, not a bug.

Detecting duplicates within a file

Variable detects duplicate inputs by comparing:
  • Source product/material ID
  • Quantity
  • Unit code
Duplicates within the same import are automatically deduplicated.

Large file tips

Performance optimization

For imports with 10,000+ rows:
  1. Clean your data first
    • Remove empty rows
    • Remove summary/total rows
    • Ensure consistent formatting
  2. Split by product
    • Import each top-level product separately
    • Easier to track and troubleshoot
  3. Monitor progress
    • Large imports process in batches (250-1,000 items)
    • You can navigate away - you’ll be notified when complete
Import progress is tracked in the background. Check the import detail page for status updates.

Import status reference

StatusDescriptionAction
createdImport record createdUpload a file
uploadedFile received and parsedConfigure mappings
processingImport in progressWait for completion
doneImport completedReview results
errorImport failedCheck error message, fix, and retry
stoppedImport cancelledRe-start if needed

Recovering from errors

When an import fails:
  1. Check the error message - Usually indicates the specific problem
  2. Review your data - Look for the row or column mentioned
  3. Fix the source file - Correct the issue in your original file
  4. Re-upload - Create a new import with the corrected file
Failed imports may have partially created data. Check for any products or materials created before the failure.

File format issues

CSV parsing problems

Symptoms: Columns misaligned, data in wrong fields Common causes:
  • Commas in data values (not quoted)
  • Inconsistent quoting
  • Wrong delimiter (semicolon vs comma)
Solutions:
  1. Ensure values with commas are quoted: "Saddle, leather"
  2. Use consistent quoting throughout
  3. Check your regional CSV settings

XLSX parsing problems

Symptoms: Data missing or incorrect Common causes:
  • Wrong sheet selected (multi-sheet workbooks default to the first sheet)
  • Merged cells
  • Hidden rows or columns
  • Formulas instead of values
Solutions:
  1. On upload, use the Select sheet to import dropdown to pick the correct sheet
  2. Unmerge cells
  3. Unhide rows and columns
  4. Copy and paste as values to resolve formulas

Getting help

If you’re still experiencing issues:
  1. Check the error details - Expand the error message for more information
  2. Export your mappings - Useful for support debugging
  3. Contact support - Include the import URL and error message
When contacting support, include:
  • The import URL (from your browser’s address bar)
  • The error message
  • A sample of the problematic data (anonymized if needed)