packages/twenty-docs/user-guide/data-migration/how-tos/fix-import-errors.mdx
Import not working? This guide helps you identify and fix common import errors step by step.
After uploading your file and mapping columns, Twenty validates your data:
<Note>Fix errors in the UI. You don't need to go back to your spreadsheet. Edit cells directly during import to save time.</Note>
Click on a highlighted row to see the specific error message. Common error types:
| Error Message | What It Means |
|---|---|
| Duplicate values highlighted in yellow | Value already exists in Twenty or appears twice in your file |
{field} is not a valid {type} (hover on yellow cell) | Data doesn't match expected format |
| Required field highlighted | A required field is empty |
Can't connect to {object}. No unique record found... (import fails) | Referenced record doesn't exist |
Too many records. Up to 10000 allowed (upload blocked) | File has more than 10,000 records |
Follow the specific instructions below for each error type.
Rows with duplicate values are highlighted in yellow in the import UI before the import starts.
A unique field (email, domain) either:
Option 1: Edit the duplicate value
Option 2: Remove the duplicate row
Option 3: Let Twenty update the existing record
email, domain, or id)id but change the email → the email will be updatedemail but change the id → the id will be updatedAs long as one unique identifier matches, Twenty updates the record. </Note>
Before importing:
Check Command Menu → See deleted records. Records there still enforce uniqueness. Permanently delete them or restore and update. </Warning>
For more details: Uniqueness Constraints
The cell value is highlighted in yellow. Hover over it to see the error message:
{field name} is not a valid {field type}
The data doesn't match the expected format for that field type.
Problem: Invalid email format
Solution: Use format [email protected]
❌ john.smith@
❌ john [email protected]
✓ [email protected]
Problem: Inconsistent format may cause duplicates
Solution: Use https://domain.com format (recommended)
⚠️ acme.com (valid, but not recommended)
⚠️ www.acme.com (valid, but not recommended)
✅ https://acme.com (recommended)
<Note>All formats are valid, but https://domain.com is recommended because it matches the format used by email/calendar sync. Using other formats may create duplicate companies.</Note>
Problem: Unrecognized date format
Solution: Use YYYY-MM-DD format consistently throughout file
✓ 2024-03-15 (YYYY-MM-DD)
❌ 03/15/2024 (MM/DD/YYYY)
❌ 15/03/2024 (DD/MM/YYYY)
Problem: Missing required columns Solution: Include all phone columns
| Column | Example |
|---|---|
| Phones / Primary Phone Number | 4159095555 |
| Phones / Primary Phone Country Code | US |
| Phones / Primary Phone Calling Code | +1 |
Problem: Wrong boolean value
Solution: Use uppercase TRUE or FALSE
❌ true
❌ yes
❌ 1
✓ TRUE
✓ FALSE
Problem: Value doesn't match existing options Solution: Use API names, not display labels
How to find API names:
OPTION_1, not "Option 1")❌ High Priority
✓ HIGH_PRIORITY
Problem: Missing amount or currency code Solution: Fill both columns
| Column | Example |
|---|---|
| Amount / Amount | 1234.56 |
| Amount / Currency | USD |
Problem: Non-numeric characters Solution: Numbers only, period for decimals
❌ $1,234.56
❌ 1,234.56
✓ 1234.56
For complete format reference: Field Mapping
The row is highlighted in yellow with the required field cell marked.
A required field is empty for this row.
Option 1: Enter a value
Option 2: Remove the row
Before importing, identify required fields:
This error appears after the import starts — the import fails with a message like:
Can't connect to company. No unique record found with condition: id = 7776ee49-f608-4a77-8cc8-6fe96ae1e43f
This means there is no Company in Twenty with that specific identifier.
<Note>Unlike other errors, this one is not caught during the data review step. The import will start and then fail when it encounters the missing relation.</Note>
You're trying to link to a record that doesn't exist in Twenty.
Option 1: Import parent records first
Option 2: Fix the reference value
https://domain.comOption 3: Remove the relation
Import in the correct order:
Verify reference values:
https://domain.comAlways import parent objects before child objects. </Warning>
For more details: Import Relations
This error appears when uploading your file — the upload is blocked entirely:
Too many records. Up to 10000 allowed
You won't be able to proceed to the data review step until you reduce the file size.
Your file has more than 10,000 records.
Option 1: Split into multiple files
Option 2: Use API import For very large datasets, use the API which has no record limit. See: How to Import Data via API
A column in your file can't be mapped because the field doesn't exist in Twenty.
<Note>The CSV import creates records, not fields. All fields must exist before importing.</Note>
You're trying to assign a record to a user (Owner, Assignee) but the relation isn't being mapped.
If a user hasn't accepted their invitation, records referencing them will have empty user relations. </Warning>
Avoid errors by checking these before importing:
<Check>File is CSV, XLSX, or XLS format</Check> <Check>File has fewer than 10,000 records</Check> <Check>File uses UTF-8 encoding</Check>
<Check>No duplicate emails (for People)</Check>
<Check>No duplicate domains (for Companies)</Check>
<Check>All dates use consistent format</Check>
<Check>All domains use https://domain.com format</Check>
<Check>Boolean fields use TRUE or FALSE (uppercase)</Check>
<Check>Select fields use API names, not display labels</Check>
<Check>Phone fields have all required columns</Check>
<Check>Currency fields have both Amount and Currency Code</Check>
<Check>Parent records imported before child records</Check> <Check>Relation columns reference existing records</Check> <Check>Domain format matches Twenty's format exactly</Check>
<Check>All custom fields exist in Settings → Data Model</Check> <Check>Select options exist before importing</Check>
If you've tried the above solutions: