NetSuite cannot identify the record to import
Check which record the identifier belongs to and whether the import expects a name, internal ID, or external ID.
The customer has no primary identifier
Message looks like
Could not find matching record. Primary name field was not mapped or is empty.
What it means
The update is trying to find customers by company name or another text field. Customer updates match on internal ID, external ID, or customer ID only, so the lookup comes back empty.
Import context: Customers.
Check this first
Check which field the mapping uses as the record key and switch it to one of the three identifiers.
Show the steps
Steps for this error
- Check whether the import updates existing customers using the company name or another text field as its key. A customer update matches on internal ID, external ID, or customer ID only.
- Map one of those three identifiers for every row and remove name-based keys from the mapping.
- Retry one customer update and confirm it changed the intended record.
If that looks right
Documentation checked September 16, 2026.
More than one customer matches
Message looks like
Matched more than one record
What it means
More than one customer fits the row, typically a parent with several child customers while Child of is mapped and no unique identifier is.
Import context: Customers.
Check this first
Map internal ID, external ID, or customer ID for the affected rows so each matches exactly one record.
Show the steps
Steps for this error
- Check the four documented conditions together: the customer has a parent with several child customers, Data Handling is Add or Update, Child of is mapped, and none of internal ID, external ID, or customer ID is mapped.
- Map internal ID, external ID, or customer ID for the affected rows so each matches one record.
- If the import should create new child customers instead of updating them, review the Child of mapping before retrying.
If that looks right
Documentation checked September 16, 2026.
The custom list has no mapped identity
Message looks like
One of the columns [id, name] must be mapped in the CUSTOMLIST import
What it means
The custom list rows carry no identity: neither a name nor an internal or external ID is mapped, so NetSuite cannot tell which entry is which.
Import context: Custom lists.
Check this first
Map a name or ID column and pick the matching reference type on the Field Mapping page.
Show the steps
Steps for this error
- Map a name, internal ID, or external ID for the custom list on the Field Mapping page.
- Choose the matching reference type with the edit icon beside the field.
- Retry the import.
If that looks right
Documentation checked September 16, 2026.
A revaluation needs an identifier
Message looks like
You must map one of the following NetSuite fields to a column in your CSV file, to be a unique identifier: External ID, Internal ID, or a transaction number field, such as Order # or Invoice #
What it means
New revaluation rows have no unique identifier mapped, so NetSuite cannot tell the records apart.
Import context: Inventory cost revaluations.
Check this first
Map an external ID or reference number for every new revaluation row.
Show the steps
Steps for this error
- When adding revaluation records, map a unique identifier for every row: External ID or Ref. No.
- Choose the matching reference type for the mapped field.
- Retry the import.
If that looks right
Documentation checked September 16, 2026.
The transaction needs a unique identifier
Message looks like
You must map one of the following NetSuite fields to a column in your CSV file, to be a unique identifier: External ID, Internal ID, or a transaction number field, such as Order # or Invoice #
What it means
New transactions need one mapped identifier NetSuite can tell them apart by, and none of external ID, internal ID, or a transaction number is mapped.
Import context: Transactions.
Check this first
Map one unique identifier for every row and pick its matching reference type.
Show the steps
Steps for this error
- When adding transactions, map one unique identifier for every row: External ID, Internal ID, or a transaction number field such as Order # or Invoice #.
- Choose the matching reference type for the mapped field.
- Retry the import.
If that looks right
Documentation checked September 16, 2026.
Related errors
- NetSuite says the record already exists
- NetSuite cannot match an item in a CSV import
- The item unit or record type does not match
- NetSuite could not match a record or parent item
Book a free 30-minute look at your import error
Bring the error and your file to a screen share and I will dig into it live. Thirty minutes is usually enough to find what is wrong and tell you what fixing it takes. Sometimes that settles it on the call; when it does not, you leave with a straight answer instead of a mystery. No cost and no obligation.
An import that keeps failing is often the first visible sign of a larger setup problem. Most of my client work starts exactly here: somebody mid-import, a file that will not load, and nobody on their side to email. If a migration or implementation sits behind this error, that is the work I do every week.