Administration1 Comment

NetSuite CSV imports are essential for processing large volumes of new records and updating existing records. For example, when performing a NetSuite sandbox refresh, you can perform a quick CSV import to re-upload the users/roles and grant them access in a matter of minutes.

“0 of X records imported successfully” is not something a NetSuite administrator or developer wants to see when working with the system. However,  it is inevitable that CSV import errors will occur. This could result from data being formatted incorrectly in the CSV file itself or could perhaps stem from an inactive record in the system that is referenced in the CSV file. 

Another challenge faced by NetSuite professionals is that resolving one CSV import error will not necessarily solve the root cause of the problem. In fact, there are many use cases where errors “stack up” and can therefore only be resolved sequentially, one after the other.

While the scope of NetSuite CSV import errors is very broad, we will look at 7 specific error examples and how to solve them.

Salto Suite Tip: Users need the role permission “Import CSV File” in order to process their own CSV imports (for records they have access to).

1. Invalid entity reference key

This error often relates to permission deficiencies—not NetSuite role permission deficiencies, but user/record access ones. For example, if a user attempts to create a journal entry via CSV import but does not have access to all subsidiaries referenced in the CSV import file, they will receive this error message. Another example is that of missing currency values set on a given entity record. If importing a transaction via CSV import, any corresponding entity records (customer/vendor/employee) that do not have access to the currency referenced in the CSV import file will receive a similar error message: “Invalid currency reference key…”.


Prior to completing any CSV import, perform a spot check of entity records to ensure they are active in the system. Review currency values to ensure they are appropriate for the entity records selected. Ensure that the entity record reference matches the NetSuite format.

2. Record already exists

This error will typically occur when NetSuite thinks the user is trying to create duplicate records (even when that is not the user’s intention). That said, it is still a useful system validation feature that helps avoid the inadvertent creation of duplicate records in the system.


Use the External ID field to group lines in CSV imports that belong to the same record (e.g. when creating sales order records with multiple lines). The External ID must be unique for transaction records in the system so that NetSuite will group transaction lines with the same External ID when imported.

3. Record does not exist

This is another common CSV import error, especially in NetSuite environments that make use of the External ID field. Entity records, transaction records and others must have unique External ID field values within those record types, i.e. if a vendor record has External ID “EXTID_1234” (which would be a poor choice for an External ID value) then a corresponding customer record in the same NetSuite environment cannot have the same reference.

Another common use case is where the format of the field values in the CSV import file does not match those expected by NetSuite. Perhaps the subsidiary field values reference “Internal ID”, but the CSV import mapping instead references “Name”. If we try to pass the value “1” for a subsidiary name, we should expect to receive a CSV import error given there is no subsidiary record in the system with the name “1”.


Review the External ID values that are included in the CSV import file (e.g. customer import NetSuite template) to ensure they are not duplicated elsewhere in the system when creating new records via CSV import. This can be checked with a quick saved search to identify records with those External ID values. If the values already exist, simply assign a unique value and re-import. 

Review the formatting of all field values in the CSV import file to validate that they align with the CSV import mapping. A single misalignment between name, Internal ID and External ID can cause this error message.

4. Invalid department reference key

This CSV import error is common when performing a transaction type import, e.g. a NetSuite journal entry template. While there are numerous root causes for this error message, it will typically be the result of an incorrect reference type or inactive record. Don’t forget that department records can be assigned to specific subsidiary records, so if a line in the CSV import file references a subsidiary that is not selected on the corresponding department record, expect the CSV import to fail until the department record has been updated.


Double check the reference type in the CSV import field mapping screen. Name vs Internal ID vs External ID is key. When referencing “Name”, do not forget to include the parent/child hierarchy in the CSV import template file, e.g. Parent Department Name : Child Department Name. Also, confirm that the department record referenced is active. If not, you will receive this error message until the department is made active.

5. Please enter a value for amount

This is another common CSV import error when working with transaction type imports, e.g. a NetSuite vendor bill import template. If the appropriate field values are not provided, such as “Rate”, then NetSuite cannot derive the correct amount for a given transaction line.

In addition, NetSuite items must be configured appropriately in order to be included in a CSV import. If an item is misconfigured, it can be challenging to resolve, especially when the CSV import error message makes no reference to the item record itself.


Review the fields mapped for deriving the amount value to ensure they are appropriate for your NetSuite environment. 

Ensure that items have a “Base Price” assigned, even if it is zero. Having no “Base Price” assigned on an item is a common cause for failed transaction CSV imports.

Last, double check the format of the numbers in the CSV import file, as sometimes commas and/or currency symbols can linger. These should be removed prior to performing the import process.

6. Charts of accounts error

Chart of accounts CSV import errors are common, especially when completing the initial import with a NetSuite COA template. The order in which the accounts are imported is critical, as parent accounts must be created prior to their children. For this reason, it is strongly recommended that the option “Use Multi-Threading” is not selected when importing the NetSuite chart of accounts, otherwise you risk receiving this error “Error: Invalid parent reference key X.”

Accounts also have list field values, so values for account type must be recorded accurately in the CSV import file. If not, the import will fail with the error “Invalid accttype reference key X.”


Review your chart of accounts CSV import file to validate that parent accounts are listed above corresponding child accounts. In addition, ensure that the “Subaccount of” field is populated with the concatenated account number and name. This often catches users out the first time they perform this type of CSV import.

Consider adding simple validation rules to your NetSuite chart of accounts template file—for example, to the account type field values. This will force the preparer to select a value from a dropdown list vs populating free text that is error prone.

7. Advanced intercompany journal entry import errors (including a CSV import template)

There are many different errors you can encounter when uploading an advanced intercompany journal entry (AICJE) into NetSuite via CSV import.  One of the more common errors relates to the value for “Due To/From Subsidiary” not being valid or accurate. You may receive an error response such as “The Due To/From Subsidiary for the From Subsidiary lines must be one of the other subsidiaries used in the transaction.”


For this particular error, you need to ensure the values selected for the “Due To/From Subsidiary” field match one of the subsidiaries selected for the “Subsidiary” field value on the AICJE line level. If that is the case, double check that the GL accounts selected have been configured to “Eliminate Intercompany Transactions”, else you will not be able to populate a value for the “Due To/From Subsidiary” field on that line. Conversely, if the GL account has been configured to “Eliminate Intercompany Transactions” and you do not provide a value for the “Due To/From Subsidiary” field, you will encounter a similar error such as “Invalid Duetofromsubsidiary Reference Key X for Linesubsidiary X”.

Salto Suite Tip: If you are running into challenges creating your AICJE’s check out this AICJE NetSuite CSV import template here to speed up your journal entry creation process.

For support with additional CSV import error messages, review the NetSuite documentation found here.

Final Thoughts

There are many different CSV import errors a NetSuite administrator or developer will encounter. Understanding how to troubleshoot them is key. Do not forget to check the impact of your CSV import—just because all records were imported successfully, it does not necessarily mean the expected changes were made. For example, consider a NetSuite workflow that executes under certain conditions but where the “CSV” context is not selected in the workflow summary. That workflow will not execute any records created/updated via CSV import. 

Salto Suite Tip: Consider leveraging a tool, such as Salto, that will seamlessly manage the migration process of your saved CSV imports. Doing so reduces time and risk, ultimately freeing up the NetSuite Admin to focus on value-add initiatives.


Sonny Spencer
Sonny is a seasoned NetSuite veteran, with more than 7 years experience implementing NetSuite and architecting NetSuite solutions for a wide variety of public and private companies, on a global scale. He leverages his background both as a Chartered Accountant and Certified NetSuite Administrator to design and build NetSuite solutions that solve real world problems. Sonny is an active member of the NetSuite community, participating in local NetSuite meetups, NetSuite forums and groups focused on financial system optimization.

1 Comment on this article

Add a comment