CRM Import Errors — Quick Reference:
- Structural errors (delimiter, encoding, headers) → file-level problems, fix before uploading
- Type mismatch errors (picklist, date, number format) → field value problems, most common silent failure
- Relational errors (owner not found, lookup failed) → reference data problems, require CRM-side verification
- Uniqueness errors (duplicate email, duplicate ID) → deduplication problems, fix before import
- Permission errors (read-only field, import not allowed) → access configuration problems, require admin
Quick Answer
CRM import errors fall into five categories regardless of platform: structural file problems, data type mismatches, relational reference failures, uniqueness violations, and permission blocks.
Why it matters: Most CRMs report the same five root cause types under different error message strings. Recognizing the category tells you where to look — in the file, in the CRM field configuration, or in your access rights — before you spend an hour debugging the wrong layer.
The fix: Validate your file locally before upload. Structural and type errors are catchable in seconds. Relational errors require CRM-side verification. Permission errors require admin access.
Root cause: Import failures are almost always a data preparation problem, not a CRM problem. The CRM is correctly rejecting data that doesn't match its schema.
Fast Fix (Before Your Next Import Attempt)
⏱ Expected time by error type:
- Structural (delimiter, encoding): 5–10 minutes
- Picklist/OptionSet mismatch: 10–15 minutes (export values, find-replace)
- Owner/relational error: 15–30 minutes (export user list, VLOOKUP)
- Duplicate deduplication: 5 minutes with local tool
- Permission error: admin dependent (not a file fix)
If your import just failed:
- Download the error file — every major CRM provides a failure log (Salesforce: operation_errors.csv via Data Loader; HubSpot: Settings → Imports → Download Error File; Shopify: import results page; Zoho: import history log)
- Identify the error category from the table below — structural, type mismatch, relational, uniqueness, or permission
- Fix the file for structural and type errors; verify CRM configuration for relational and permission errors
- Validate locally before re-uploading — run your file through Data Validator to catch remaining issues without uploading customer data to another external server
- Re-import a 10-row test batch before running the full file
If your import shows "success" but records have blank fields: this is a type mismatch soft failure. The record was created but the problematic field value was silently dropped. Download the error file anyway — it will show which fields failed per row.
TL;DR: This is the cross-platform reference for every major CRM import error message. Match your error string to the table, identify the root cause category, and follow the fix path. Use Data Validator to catch errors locally before your next upload — no customer data transmitted to any server.
Your CRM import ran. The progress bar filled. The screen said "Import complete." You open the CRM and 400 records have blank fields, 200 rows are missing entirely, and Salesforce threw 45 errors you've never seen before.
The error message reads: "FIELD_INTEGRITY_EXCEPTION; Lead Status; bad value for restricted picklist field Lead Status: Hot Lead"
You search for that error. You find five-year-old forum threads. None of them match your exact situation.
This post is the reference that should have existed. Every major CRM import error string, decoded by root cause, with the exact fix. Each error string was verified against official platform documentation, March 2026.
Table of Contents
- The Five Root Cause Categories
- Structural Errors: File-Level Problems
- Type Mismatch Errors: Field Value Problems
- Relational Errors: Reference Data Problems
- Uniqueness Errors: Duplicate Detection
- Permission Errors: Access Configuration
- Platform Error Cross-Reference
- Additional Resources
- FAQ
The Five Root Cause Categories
Every CRM import error — regardless of platform — falls into one of five categories. Knowing the category tells you where the fix lives before you read a single error log.
| Category | What It Means | Where the Fix Lives | Example Error |
|---|---|---|---|
| Structural | The file itself is malformed | In the CSV file | "Invalid CSV format", "File cannot be parsed" |
| Type Mismatch | A field value is the wrong data type | In the field values | "Bad value for restricted picklist", "Invalid date format" |
| Relational | A referenced record doesn't exist | In the CRM (or the value mapping) | "Owner not found", "Related account does not exist" |
| Uniqueness | A duplicate record was detected | In the file (dedup before import) | "Contact with this email already exists" |
| Permission | The user doesn't have access | In CRM role/profile configuration | "Insufficient access rights", "Field is read-only" |
Mental model — where the error lives tells you where the fix lives:
WHEN does the import fail?
Before the field mapping screen
→ Structural error — the file itself is malformed
→ Fix is in the CSV (delimiter, encoding, line endings)
During import processing (rows fail with error codes)
→ Data error — field values don't match CRM schema
→ Fix is in the field values (picklist, date format, number format)
After import "succeeds" but records have wrong/blank fields
→ Soft data error — field value was silently dropped
→ Download the error file — it's not actually clean
After import succeeds but workflows/automations don't fire
→ Relational or permission error — referenced record missing, or user lacks access
→ Fix is in the CRM configuration, not the file
The most important distinction: structural and type errors are fixable in the file. Relational and permission errors require CRM-side investigation. Uniqueness errors are best prevented before import.
Structural Errors: File-Level Problems
Structural errors cause the entire import to reject before a single record is processed. If you get a "file cannot be parsed" error before reaching the field mapping screen, the file itself is malformed.
❌ STRUCTURAL ERROR EXAMPLES:
Salesforce: "We couldn't load your file. The file might have formatting issues."
HubSpot: "File must be a .csv file."
Zoho: "Invalid File Format. Please upload a CSV file."
QuickBooks: "The data is not in the correct format."
Shopify: "Your CSV file could not be imported."
Root causes (in order of likelihood):
1. Wrong delimiter — semicolons (;) where commas (,) are expected (European CSV format)
2. BOM character — UTF-8 BOM (EF BB BF) at file start, common in Excel-saved CSVs
3. Encoding mismatch — Windows-1252 or ANSI encoding instead of UTF-8
4. Extra blank columns — trailing commas after last data column
5. Quoted field with unescaped quote — "O'Brien", "Smith" Corp" breaks the parser
6. Wrong line endings — Mac LF vs Windows CRLF (QuickBooks is especially sensitive)
FIXED: UTF-8 encoding, comma delimiter, no BOM, standard CRLF line endings
For structural fixes, see the CSV import errors complete guide and fix CSV delimiter errors.
Type Mismatch Errors: Field Value Problems
Type mismatches are the most common CRM import failure and the most dangerous — they often produce a "success" import with silently blank fields. The record is created, but the invalid field value is dropped without notification unless you check the error file.
Picklist / Enumeration Errors
❌ PICKLIST ERRORS — VERBATIM:
Salesforce: "FIELD_INTEGRITY_EXCEPTION; Lead Status; bad value for restricted picklist field Lead Status: Hot Lead"
Salesforce: "INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST; Lead Source; Lead Source: bad value for restricted picklist field"
HubSpot: "The value 'Hot Lead' is not a valid option for the property 'Lifecycle Stage'. Valid options are: subscriber, lead, marketingqualifiedlead..."
Zoho: "Invalid Value: The value 'LEAD' provided for the field Lead Status is not valid."
Pipedrive: "This field value is not part of the allowed values list"
Root cause: Picklist validation is exact-match and usually case-sensitive + whitespace-sensitive.
"Hot Lead" and "Hot Lead " (trailing space) are different values.
"LEAD" and "Lead" are different values in most CRMs.
Fix: Export picklist values directly from CRM settings. Copy-paste exact strings.
Never type picklist values manually — copy from the CRM's field configuration.
Date Format Errors
❌ DATE FORMAT ERRORS — VERBATIM:
Salesforce: "INVALID_DATE_FORMAT; CloseDate; CloseDate: value not in correct format. Provided '21/03/2026', expected 'YYYY-MM-DD'"
HubSpot: "The value '21/03/2026' is not a valid date. Dates must be in milliseconds since epoch or YYYY-MM-DD format."
Airtable: "Invalid date format"
Xero: "The date must be in the format DD/MM/YYYY"
Root cause: Each platform has a required date format. Most expect YYYY-MM-DD (ISO 8601).
Xero specifically requires DD/MM/YYYY. Mixing formats or using locale-specific formats (MM/DD/YYYY for US dates) causes rejection.
Fix: Standardize all date columns to the target platform's required format before import.
Number Format Errors
❌ NUMBER FORMAT ERRORS — VERBATIM:
Salesforce: "INVALID_TYPE; Amount; Amount: value not in correct format. Provided '10,000', expected numeric"
Zoho: "The field Revenue contains an invalid value '€45,000'. Currency symbols and commas are not allowed."
QuickBooks: "'Zeros Not Allowed' — a zero value was found in a field that requires non-zero input"
Root cause: Currency symbols, thousand-separator commas, and percentage signs are not numeric.
Strip all non-numeric characters from number fields before import.
Fix: 10,000 → 10000 | $45,000 → 45000 | 23% → 0.23 (check platform's expected decimal format)
Relational Errors: Reference Data Problems
Relational errors occur when your CSV references something that doesn't exist in the CRM — an owner who isn't a CRM user, a parent account that hasn't been created, a lookup field pointing to a deleted record.
❌ RELATIONAL ERRORS — VERBATIM:
Salesforce: "FIELD_INTEGRITY_EXCEPTION; OwnerId; Owner is not valid"
Salesforce: "INVALID_CROSS_REFERENCE_KEY; AccountId; No such value 'ACME Corp' for relationship 'Account'"
Salesforce: "TRANSFER_REQUIRES_READ; [object]; You do not have Read access to the records you are trying to transfer"
HubSpot: "The owner '[email protected]' does not exist in your portal"
Pipedrive: "User with email '[email protected]' does not exist"
Zoho: "The owner 'John Smith' is not a valid CRM user"
NetSuite: "Invalid reference key: The value 'ACME-001' is not a valid reference for the Customer field"
Root cause: The CSV references a value that must exist in the CRM before import.
Owner emails must be active CRM user accounts.
Parent records must be created before child records.
Lookup fields must reference existing record names or IDs exactly.
Fix path:
1. Export active users from CRM → match owner column exactly to user email
2. Import parent records (Accounts) before child records (Contacts, Opportunities)
3. Use Internal IDs for lookup fields, not display names (IDs don't change when names do)
Uniqueness Errors: Duplicate Detection
Uniqueness errors occur when the CRM detects a record that would create a duplicate based on its deduplication key (usually email for contacts, usually name or domain for accounts).
❌ UNIQUENESS ERRORS — VERBATIM:
HubSpot: "A contact with the email '[email protected]' already exists. The existing contact was updated."
↑ NOTE: HubSpot reports this as informational, not a hard error. The existing record is updated.
Salesforce: "DUPLICATE_VALUE; Contact; duplicate value found: Email duplicates value on record with id: 0031x000003ABC"
↑ Salesforce behavior depends on duplicate rules — may block or allow with alert.
Zoho: "Duplicate Record: A record with the same Email already exists."
Marketo: [Existing lead is updated, no error shown — check import results for "updated" count]
ActiveCampaign: [Existing contact is updated silently — contact count may not increase as expected]
Root cause: The CRM found a matching record on its deduplication key.
Different CRMs handle this differently:
- HubSpot + Marketo + ActiveCampaign: merge/update silently (import shows "success")
- Salesforce: depends on configured duplicate rules (may block or alert)
- Zoho: hard reject by default
Fix: Remove duplicates from your file before import.
Decide whether you want to create new records or update existing ones, then configure accordingly.
For deduplication before import, see remove duplicate emails before CRM import.
Permission Errors: Access Configuration
Permission errors occur when the importing user doesn't have the required CRM access. These are not fixable in the CSV — they require admin intervention.
❌ PERMISSION ERRORS — VERBATIM:
Salesforce: "INSUFFICIENT_ACCESS_OR_READONLY; [field]; insufficient access rights on object id"
Salesforce: "FIELD_INTEGRITY_EXCEPTION; [field]; You do not have permission to set the value of [field]"
HubSpot: "You don't have permission to import contacts"
Zoho: "You are not authorized to perform this action"
QuickBooks: "You do not have permission to import this file type"
Root cause: The importing user's role or profile does not include:
- Import permission for the object type
- Write access to one or more fields being imported
- Access to assign records to other owners (requires "Transfer Record" permission in Salesforce)
Fix: Ask a CRM admin to:
1. Verify the importing user has import permissions enabled
2. Check field-level security for any read-only fields in the import file
3. For Salesforce owner assignment: grant "Transfer Record" permission or remove owner column and let Salesforce auto-assign
✅ How to Confirm Your Import Is Actually Fixed
After re-importing, do not assume the CRM's "success" message means the data is correct. Run this verification:
- Check the import report — look for counts: Created, Updated, Skipped, Errors. Errors = 0 is required, not just "import complete."
- Open 3–5 imported records manually — verify the specific fields that were failing previously (picklist, owner, related record) now show correct values.
- Check the error log download — even after a "successful" import, download the error file. If it's empty, you're clean. If it has rows, you have soft failures.
- Spot-check a failed row from the previous run — find one of the rows that failed before, confirm it imported correctly this time.
If any of these checks fail: the fix was incomplete. The _error.csv from this run is your new input file for the next attempt.
Platform Error Cross-Reference
Bookmark this table. Match your error string to the platform column, then follow the root cause and fix link.
| Error String (verbatim or close match) | Platform | Category | Root Cause | Fix Post |
|---|---|---|---|---|
| "bad value for restricted picklist field" | Salesforce | Type Mismatch | Picklist value doesn't match exactly | Salesforce picklist fix |
| "TRANSFER_REQUIRES_READ" | Salesforce | Permission | Can't transfer records without Read access | Salesforce transfer error |
| "Invalid Number — comma separator" | Salesforce | Type Mismatch | Comma in numeric field treated as delimiter | Salesforce number fix |
| "Field Mapping Failed" | HubSpot | Structural/Relational | Column header doesn't match any property | HubSpot field mapping |
| "owner does not exist in your portal" | HubSpot | Relational | Owner email not an active HubSpot user | See relational errors section above |
| "Invalid Date Format" | Airtable | Type Mismatch | Date not in Airtable's expected format | Airtable date fix |
| "Continue Button Grayed Out" | QuickBooks | Structural | File encoding or line ending mismatch | QuickBooks grayed out |
| "Zeros Not Allowed" | QuickBooks | Type Mismatch | Zero value in a field requiring non-zero | QuickBooks zeros fix |
| "Invalid Field Value" | Zoho | Type Mismatch | Field value doesn't match expected type/picklist | Zoho CRM fix |
| "Invalid Reference Key" | NetSuite | Relational | Lookup value doesn't match an existing record | NetSuite fix |
| "Missing Required Column Header" | Shopify | Structural | Required column (Handle, Title, Vendor) absent | Shopify import fix |
| "Column Type Mismatch" | Monday.com | Type Mismatch | Column type in CSV doesn't match board column type | Monday.com fix |
| "Invalid Input Syntax" | PostgreSQL | Type Mismatch | Text value in integer/date/numeric column | PostgreSQL fix |
| "1064 Syntax Error" | MySQL | Structural | SQL reserved word in column name, or malformed row | MySQL fix |
For the complete platform-specific guides, see our CRM import failures complete guide.
CRM Import Error Diagnosis Decision Tree
Use this tree when you have an error message and need to identify where to look. Start at the top, follow the branch that matches your situation.
YOUR CRM IMPORT FAILED — WHERE IS THE ERROR?
START: Did the import reach the field mapping screen?
│
├─ NO → The file itself is malformed
│ Structural error (delimiter, encoding, BOM, malformed rows)
│ Fix: check CSV format, encoding, line endings
│ → See: Structural Errors section above
│
└─ YES → Import started processing records
Did the import complete but records have wrong/blank fields?
│
├─ YES → Soft failure on field values
│ → Download error file from CRM
│ → Check: was the field value rejected silently?
│
│ Is the field a picklist/dropdown/OptionSet?
│ ├─ YES → Type Mismatch — Picklist
│ │ Fix: export exact values from CRM settings, copy-paste
│ │ → See: Type Mismatch section above
│ │
│ └─ NO → Is it a date or number field?
│ ├─ YES → Type Mismatch — Format
│ │ Fix: YYYY-MM-DD for dates, no symbols for numbers
│ └─ NO → Check field-level security (Permission error)
│
└─ NO → Import rejected rows with error message
Does the error mention a field name + "bad value" / "invalid"?
├─ YES → Type Mismatch
│ Fix: match exact field schema requirements
│
Does the error mention "owner" / "user" / "cannot find"?
├─ YES → Relational Error
│ Fix: export active user list, match email exactly
│
Does the error mention "duplicate" / "already exists"?
├─ YES → Uniqueness Error
│ Fix: deduplicate file before import
│
Does the error mention "access" / "readonly" / "insufficient"?
├─ YES → Permission Error
│ Fix: ask CRM admin to check profile/field-level security
│
Does the error appear before any rows process?
└─ YES → Structural Error
Fix: check file format, encoding, delimiter
If your error doesn't match any branch: check the platform-specific error cross-reference table above, then see why your CRM rejects CSV imports for the full root cause taxonomy.
Additional Resources
Verified: Error strings cross-referenced against official platform documentation (Salesforce Help, HubSpot Knowledge Base, Zoho CRM Help, QuickBooks Community, Airtable Support). March 2026.
Official Platform Documentation:
- Salesforce: Importing Data into Salesforce — Official import guide including error handling
- HubSpot: Fix errors from importing contacts — Official error resolution guide
- Salesforce: Data Import Wizard — Limits, supported objects, and requirements
Standards and Specifications:
- RFC 4180 — CSV Format Specification — Official CSV structure definition
- ISO 8601 — Date and Time Format — The date format most CRMs expect
- GDPR Article 5 — Data Minimization — Why validating locally before uploading matters for PII-containing import files
Privacy and Vendor Risk:
- GDPR Article 28 — Processor obligations — When a validation tool that receives your file becomes a data processor
FAQ
Why does my CRM show "import successful" but records have blank fields?
This is a soft failure — a type mismatch or relational error that the CRM handled by creating the record but dropping the invalid field value silently. Salesforce does this with invalid number formats. HubSpot does this with invalid property values for dropdown fields. The fix: download the import error file from your CRM (Salesforce: operation_errors.csv via Data Loader; HubSpot: Settings → Imports → hover import → Download Error File). These files show exactly which fields failed on which rows.
Are CRM import error codes the same across Salesforce API versions?
The error code names (FIELD_INTEGRITY_EXCEPTION, INVALID_TYPE, DUPLICATE_VALUE) are consistent across Salesforce API versions, but the accompanying text description may vary. If you are using Data Loader with Bulk API 2.0, error format in the result file differs slightly from SOAP API results — Bulk API 2.0 returns errors in a sf__Error column with a slightly different string format. The root cause categories remain the same.
How do I find which rows failed in a large import?
Every major CRM provides a downloadable error file after import. Salesforce Data Loader produces [operation]_error.csv and [operation]_success.csv in your output directory. HubSpot provides a download link in Settings → Imports. Shopify shows error rows in the import results page. Zoho provides an error report in the import history. For imports over 10,000 rows, sort the error file by error type to group identical failures and fix them in bulk rather than row by row.
Can I validate my CRM file before uploading without sending customer data to another server?
Yes — and for files containing personal data, you should. Uploading a contact list to a cloud-based validation tool creates the same GDPR Article 28 processor exposure as uploading to the CRM itself, but without the contractual protections a signed CRM DPA provides. SplitForge Data Validator runs entirely in your browser — the file never leaves your machine. It catches structural errors, type mismatches, blank required fields, and duplicate email addresses before you attempt any upload.
Why do relational errors only appear for some rows and not others?
Relational errors are row-specific because they depend on whether the referenced record exists in your CRM at import time. If half your rows reference an owner email that is an active CRM user and half reference one that isn't, only the second half will fail. The fix is to export your active user list from the CRM before building the import file, then use that list to validate owner columns locally.
What is the difference between a hard error and a soft error in CRM imports?
A hard error prevents the row from being imported at all — the record is not created. A soft error allows the row to import but drops the invalid field value. Structural errors are always hard errors. Type mismatches can be hard or soft depending on the CRM and whether the field is required. Relational errors are usually hard errors. Uniqueness errors are usually soft (the existing record is updated rather than a new one created, and the import is counted as "successful").
🛡 Prevent This Next Time
Import failures repeat when the same file is built the same way. Three habits that eliminate most CRM import errors permanently:
- Validate before every upload — run your file through Data Validator before any CRM import attempt. Catches structural, type, and duplicate errors in seconds.
- Keep a "clean row" template — after a successful import, save one row from the working file as your column reference. Future imports start from that template.
- Test with 10 rows first — every import workflow should start with a 10-row sample. If those 10 rows fail, you've saved yourself from processing 50,000 before discovering the issue.