NetSuite import errors and how to fix them
The messages NetSuite returns on a failed CSV import, what causes each one, and the fix in NetOrderFlow.
When a CSV import fails, NetSuite writes an error CSV listing each failed row and a message. Download it from Setup → Import/Export → View CSV Import Status, then match the message here. The Reconcile screen also recognises the common patterns and points you at the fix.
A partial import is normal. Fix the underlying data in NetOrderFlow, re-export just the affected orders, and re-import with Data Handling set to Add or Update so the successful rows are not duplicated.
Reference and matching failures
| Message you see | Cause | Fix |
|---|---|---|
| Invalid customer reference key 1043 | The Internal ID in the customer column does not exist in this NetSuite account, or belongs to a different subsidiary. | Open the customer in NetOrderFlow, correct the NetSuite Internal ID field, and re-export. If the customer is genuinely new, import it as a Customer first. |
| Invalid item reference key 512 | The item Internal ID is wrong, or the item is not available to the subsidiary on the order. | Correct the Internal ID on the item record, or make the item available to that subsidiary in NetSuite. |
| Invalid sales rep reference key | The rep has no Internal ID, or the employee record is not flagged as a sales rep in NetSuite. | Set the Internal ID on Settings → Sales reps, and tick Sales Rep on the NetSuite employee record. |
| You have entered an invalid field value X for the following field: taxcode | The tax code name or Internal ID does not match a tax code in the account, or the nexus does not carry it. | Fix the value on Settings → Lists → Tax codes. Prefer exporting tax codes by Internal ID rather than name. |
| You have entered an invalid field value X for the following field: units | The unit is not a member of the unit of measure set assigned to the item. | Match the unit name exactly to the abbreviation on the item's UOM set, or drop the units column so NetSuite uses the item default. |
| Invalid terms reference key / Invalid shipmethod reference key | The list value exported does not exist in NetSuite under that name. | Rename the value on Settings → Lists so it matches NetSuite exactly, or add the Internal ID and switch the column reference type. |
Required fields and segments
| Message you see | Cause | Fix |
|---|---|---|
| Please enter value(s) for: Subsidiary | OneWorld requires a subsidiary and the column was blank, or was not mapped. | Set a default subsidiary on Settings → Defaults, or a static value on the template column, and confirm the mapping on the Field Mapping screen. |
| Please enter value(s) for: Location | The account or the item requires a location and none was supplied. | Enable and set Location in the order wizard, or give the Location column a static default. |
| Please enter value(s) for: Department / Class | A mandatory segment on the account or the form is missing. | Same approach: turn the segment on in Settings → Order rules so reps can set it, and give the template column a fallback. |
| Please enter value(s) for: Item, Quantity | A line row was written with no item — usually a manual item that has no NetSuite record. | Replace the manual line with a real item. The export preflight warns about manual lines before you generate a file. |
Duplicates and identity
| Message you see | Cause | Fix |
|---|---|---|
| The external ID SO-20260810-00042 is already in use | The transaction was already imported and Data Handling was set to Add. | Re-run with Add or Update to update the existing order, or confirm on the Reconcile screen that it already landed and mark it reconciled instead. |
| Duplicate external ID within the same file | Two different orders were generated with the same External ID, usually after the sequence was reset. | Raise Next sequence on Settings → Defaults above the highest value already used, then re-export the affected orders. |
| Rows for one order became several Sales Orders | The external_id column was missing from the template or not mapped in NetSuite. | Add external_id to the template, map it to External ID, delete the incorrect transactions, and re-import. |
Formatting
| Message you see | Cause | Fix |
|---|---|---|
| Invalid date value / dates land a month off | The date format on Settings → Defaults does not match Advanced Options on the NetSuite import. 08/10 as day-month versus month-day is the usual culprit. | Align both sides. This one often imports silently with the wrong date rather than failing, so check a sample transaction after your first batch. |
| Invalid number / rate value | The CSV was opened and re-saved in a spreadsheet that reformatted numbers or added thousands separators. | Import the file exactly as generated. Open a copy if you need to inspect it. |
| Leading zeros missing from an ID | A spreadsheet stripped them on save. | Same fix: never re-save the generated file. |
Inactive records
| Message you see | Cause | Fix |
|---|---|---|
| That record does not exist / is inactive — customer | The customer is inactive in NetSuite but still active here. | Reactivate in NetSuite, or set the customer inactive in NetOrderFlow so reps stop selecting it, and move the order to a live customer. |
| That record does not exist / is inactive — item | The item was discontinued in NetSuite. | Deactivate the item here so it leaves the catalog, and swap the line for a current item. |
Address columns
| Message you see | Cause | Fix |
|---|---|---|
| Invalid shipping address / address subrecord errors | Some address component columns were mapped and others were not, so NetSuite received a partial address override. | Either map the whole address set — addressee, address 1, city, state, zip, country — or remove the address columns entirely and let NetSuite use the customer's default address. |
| Invalid country reference | The country column carries a full name where NetSuite expects the two-letter code. | Store country as an ISO code such as US or CA on the address record. |
When you change a template, a mapping, or a date format, import a single order first. Fixing one bad transaction is much cheaper than deleting sixty.
The free NetSuite CSV import checker at netorderflow.com/tools/netsuite-csv-checker reads a sales order CSV in your browser and lists what NetSuite will reject — missing columns, split orders, bad dates, unreadable numbers. The file is never uploaded.
Free NetSuite CSV import checker
Closing the loop after a partial importNetOrderFlow does this for you. Start a 14-day free trial.
Questions about this guide?