CSV Import FAQ

See the questions and answers below for information about CSV Import.

Can I use the Import Assistant for all data imports into NetSuite?

The Import Assistant supports most commonly imported record types, and is the preferred method for transferring small to medium-sized data sets from other applications into NetSuite. For information about record types that the Import Assistant supports, see Supported Record Types for CSV Import.

The NetSuite SOAP Web Services import tools provide another alternative for migrating data for record types not currently supported for CSV import, as well a solution for large or ongoing data migration projects. For information, see the SOAP Web Services Platform Guide.

NetSuite also supports specialized imports. See Importing a Peachtree CSV File.

Related Topics

What is the preferred order for importing data into NetSuite?

The following order is preferred for data imports:

  1. Chart of Accounts

    Note that you should enter opening balances as journal entries on “go live”, using the specialized journal entry import process. See Importing a Journal Entry.

  2. Classifications

    Departments, Classes, Locations - supported by Import Assistant

  3. Entities

    Employees, Vendors, Partners, Customers (including Leads, Prospects, and Customers), Contacts - supported by Import Assistant

  4. Items

    Assembly/BOM Item, Lot Numbered Assembly/BOM Item, Serialized Assembly/BOM Item, Inventory Item, Lot Numbered Inventory Item, Serialized Inventory Item, Kit/Package Item, Non-Inventory Item for Sale, Non-Inventory Item for Resale, Non-Inventory Item for Purchase, Service Item for Sale, Service Item for Resale, Service Item for Purchase, Other Charge Item for Sale, Other Charge Item for Resale, Other Charge Item for Purchase - supported by Import Assistant

  5. CRM Records

    Notes, Issues, Solutions, Topics - supported by Import Assistant

    Cases, Events, CRM Tasks, Messages - not yet supported, need another method

  6. Transactions

    Cash Sales, Customer Payments, Estimates, Invoices, Opportunities, Purchase Orders, Sales Orders, Vendor Bills, Vendor Payments - supported by Import Assistant

    Credit Memos, Return Authorizations - not yet supported, need another method

Related Topics

How do I set up a CSV file for use by the Import Assistant?

The Import Assistant performs imports by record type, so you should place data for each record type in its own CSV file.

The first step is usually to export data from your current application to a CSV file. After that, you may need to add columns required by NetSuite to the file, to ensure the import is successful. You can determine the fields required for import, and set default values for these added columns, on the Import Assistant's Field Mapping page.

If you want to take full advantage of the Import Assistant's automatic mapping capabilities, you can change the column names in your CSV file to match NetSuite field names. You can see these field names on the Field Mapping page.

It is a good idea to include unique ID values from the current application in the CSV file, rename their CSV column to “External ID”, and import these values into NetSuite. These ID values uniquely identify each records, and can provide primary keys to use for record matching and linking.

Related Topics

What is sublist data and how do I import it?

Most records in NetSuite include sublists. Each record's sublist can include a list of references to other records. For example, a transaction record can include an items sublist, and a customer record can include an address sublist.

The Import Assistant enables you to import sublist data at the same time that you import other record type data. For more information, see Sublist Data Import.

On the first page of the Import Assistant, you can choose whether to use a single file or multiple files to import data. If you choose to use a single CSV file, this one file includes all sublist data as well as other record type data. If you choose to use multiple CSV files, the Import Assistant enables you to specify a primary file for record type data and separate files for data from different sublists. See Select a File for Import.

Sublist data fields are listed at the bottom of the Import Assistant Field Mapping page, within separate folders for each sublist. You can click Add New Add New icon (to the right of the sublist folder name) to add instances of the sublist to be imported. You need to map sublist fields on this page for sublist data to be imported. See Step Four Field Mapping.

Import Assistant updates of sublist data vary according to whether sublists are keyed or non-keyed. Keyed sublists have individual sublist lines that can be searched for and updated.

Related Topics

Why is my import job processing so slowly?

Your import may be slow because of the time at which it is processed or because it includes a large number of records.

You can save your import to run later. See Step Five Save Mapping & Start Import.

You should break large CSV files into multiple, smaller files that you import as separate jobs, to improve performance. There is a limit of 25,000 records per imported file. If you would like to speed performance, you may want to make CSV files smaller than this limit.

If you import project or employee entry data, you can also enable the Asynchronous Project Plan Recalculation preference at Setup > Company > General Preferences. For more information, see Asynchronous Project Plan Recalculation.

Related Topics

Where are email messages regarding a CSV import job sent?

Email notifications about the status of a CSV import job, including information about post-processing errors, go to the email address used to log in to the session that initiated the import job.

For example, if you log in as jsmith@companyx.com and run the CSV Import Assistant to initiate an import job, any related email notification are sent to jsmith@companyx.com.

Related Topics

Are there any special requirements for importing data into OneWorld accounts?

If your account is using NetSuite OneWorld, you should set up subsidiaries in NetSuite before you begin importing data. For instructions, see Subsidiary Setup.

For NetSuite OneWorld accounts, the Subsidiary field is a required field for the following record types: Chart of Accounts, Contacts, Customers, Employees, Jobs (Projects), Leads, Partners, Prospects, and Vendors. For imports of these record types, you must include in your CSV file a field that can be mapped to the NetSuite Subsidiary field, and map this field on the Import Assistant Field Mapping page. If the import attempts to add or update records in a OneWorld account without identifying the subsidiary, the import will fail.

CSV file values for subsidiaries should be hierarchical names, in the format grandparent : parent : child, for example, Consolidated Parent Company : UK Subsidiary : Euro Subsidiary.

Related Topics

How can I use the Import Assistant to update existing NetSuite records?

To update records with the Import Assistant, select either the Update or the Add or Update data handling option on the Import Options page. See Step Two Import Options.

Your CSV file should include data for a primary key field that can be used to match CSV file records with existing NetSuite records and correctly update them.

  • For best results, use the Internal ID field as the primary key, include a column of NetSuite Internal ID values in your CSV file, and map this column to the Internal ID field.

    You can obtain Internal ID values by creating a saved search of the record type in NetSuite that includes Internal ID as a results column and exporting saved search results to a CSV file. For instructions on how to do this for transactions, see Creating Transaction Saved Searches for Reimport.

  • If internal ID values are not available, use the External ID field as the primary key, include a column of unique identifier values in your CSV file, and map this column to the External ID field.

    If the external application from which you want to import data includes unique identifiers, you can save these to a column in your CSV file, and name this column External ID.

    Note that External ID field values are never visible or editable in the NetSuite user interface. However, these values can be modified by CSV import, SuiteScript, and SOAP Web Services, and can be returned by saved searches.

  • The last possibility is to use a name field as a primary key.

    This option is not preferred, as name formatting can be complex, and key matching for updates can be difficult and error-prone if CSV file name values are formatted incorrectly.

    For example, customer names are mapped to the Customer ID field and should have the format Parent : Child, such as ABC Medical : A1 Bandages.

    Also, for names that contain spaces, HTML rendering can sometimes distort the number of spaces included, causing mismatches between CSV file values and existing records, that result in import errors. To verify the number of spaces in names, you can create a saved search with a list of names and export it.

The above text refers to the update of body fields. Sublists have predefined key fields that you need to use as unique identifiers for updates. Note that not all sublists are selectively updateable; only a subset of the sublists supported for import are keyed.

When you use the Import Assistant to update data, you need to be aware of the effects of the Advanced Options, Overwrite Missing Fields and Overwrite Sublists. See Set Advanced CSV Import Options. You also need to be aware of how sublist data records are updated.

Related Topics

Why does my import keep returning invalid reference key errors?

These errors usually occur when you are using name rather than internal ID or external ID as the primary key for your imported records, or as one or more reference types, and one or more names in your CSV files do not match names in existing records.

Using names as primary keys or reference types is not preferred, as name formatting can be complex, and matching for updates can be difficult and error-prone if CSV file name values are formatted incorrectly. For example, customer names are mapped to the Customer ID field and should have the format Parent : Child, such as ABC Medical : A1 Bandages.

Also, for names that contain spaces, HTML rendering can sometimes distort the number of spaces included, causing mismatches between CSV file values and existing records, that result in import errors. To verify the number of spaces in names, you can create a saved search with a list of names and export it.

Related Topics

Should I import account balances as part of the Chart of Accounts import?

You should not include account balances as part of your Chart of Accounts import. This import should include account numbers, names, and descriptive information like type, description, and currency.

Because the Chart of Accounts is the basis for all company data, you should complete this import first when you are setting up your account. You should not import account balances until your account is ready to go live.

You can use the NetSuite journal entry import process to import balances as journal entries. This import uses a template rather than the Import Assistant. See Importing a Journal Entry.

Related Topics

How do I create template files for CSV imports?

You do not need to create template files for CSV import, as the Import Assistant is not template-based. You can use any CSV file for an import; you do not need to start with a template file provided by NetSuite.

If you want to set up your own standard CSV file columns for particular record type imports, you can obtain information about NetSuite fields to which you can map CSV file fields in the following ways:

  • Walk through the Import Assistant for an import of the selected record type and review the fields listed in the NetSuite Fields pane on the Field Mapping page. You can use these field names as column names in your CSV file to facilitate automatic mapping.

  • Another way to understand these fields is to review carefully the form in the NetSuite user interface for the selected record type. You can click each field label to get help that describes each field.

  • For more descriptions of fields, review the SOAP Schema Browser for details about fields for each record type. For information about working with this tool, see SOAP Schema Browser.

  • Be aware that, by default, mappable NetSuite fields are those available on your preferred form for the selected record type. Fields can be mapped for the import job if they are displayed (not hidden) and not disabled on your preferred form. For example, when you import customer records, the fields that you can map to be imported are those that you can edit on the NetSuite customer form.

    If these fields do not include all of the data you want to import, for some record types, you can specify a custom form that includes the fields you need, as an Advanced Option in the CSV Import Assistant. This specification changes the NetSuite fields listed on the Field Mapping page. See Set Advanced CSV Import Options.

Related Topics

How do I complete an import if my CSV file does not include values for a required field?

NetSuite fields that are required to be mapped are marked as (Req) on the Import Assistant Field Mapping page and usually are automatically placed in the center pane of this page, to remind you to map them. If you do not map one or more required fields, you cannot move past the Field Mapping page.

If you do not have any values to import for a required field, you can do one of the following:

  • Include a column with blank values in your CSV file and map this column to the required NetSuite field.

  • Click the edit icon next to the required field and set the value for the required field to be NULL.

  • Click the edit icon next to the required field and select a default value for the required field. (This is possible only if values are set up in NetSuite).

Note:

You do not need to map required fields for a sublist unless you are importing data for the sublist. See Required Fields for Sublist Import Mapping.

Related Topics

What is a reference type?

A reference type enables you to map a column in an imported CSV file to a NetSuite field that can have one or more list values, such as a dropdown list or a multi-select. You specify reference types on the Import Assistant Field Mapping page by clicking on the edit icon next to a mapped field that is a dropdown list or multi-select. See Select Reference Types.

Related Topics

Can I use the Import Assistant to import pricing data for items?

The Import Assistant supports the import of items' pricing data, including multiple price levels, quantity-based pricing, quantity pricing schedules, and multiple currencies. Import of item pricing data can occur only when one or more of the following related features are enabled: Multiple Prices, Quantity Pricing, and Multiple Currencies.

  • You should import multiple files, rather than a single file for item pricing, with pricing data in a separate file from other item data. For more information, see Guidelines for CSV Import Files.

  • Preferred column headers for item pricing CSV files vary, depending on whether you plan to upload a single file or multiple files. For more information, see Guidelines for CSV Import Files.

  • Pricing data can be selectively updated based on key field values. The key fields depend upon the pricing-related features that are enabled. For information, see Guidelines for CSV Import Files.

For more information, see Guidelines for CSV Import Files.

Related Topics

Why is the Individual field required for an import of customers, when all of my customers are companies, not individuals?

NetSuite enables you to define each customer, partner, and vendor as either an individual (a person) or a company. The NetSuite Fields pane of the Import Assistant's Field Mapping page includes an Individual field for all of these entities. This field is required.

  • The Individual field is a Boolean indicating whether the entity is a company or a person.

  • It corresponds to the Type option buttons on the user interface forms for customers, partners, and vendors.

  • Unlike most radio button fields, an import of this field's data accepts all forms of True or False. For example, the following values are acceptable as a “True” value: True, true, TRUE, T, yes, Yes, YES.

    • A True value indicates an individual; a False value indicates a company.

    • The Company Name field is required for records with a False value, but not for records with a True value.

  • You can set a default value for the Individual field by clicking its edit icon on the Field Mapping page. In the Default Value popup: choose Yes to default customer type to individual, choose No to default customer type to company.

Note:

Your account's settings for the Default Customer Type, Default Partner Type, and Default Vendor Type fields, at Setup > Company > General Preferences, may affect the value of the Individual field for imports.

Related Topics

What values should I import for the Global Subscription Status field for customers?

The Global Subscription Status field on customer records determines whether a customer can receive email sent through campaigns and email merge operations.

  • Four values are possible: Confirmed Opt-In, Soft Opt-In, Soft Opt-Out, and Confirmed Opt-Out, but only the soft values are available to be set by import.

  • If you want to send campaign email to a customer, set this field's value to Soft Opt-In, because you cannot sent campaign email to users with Soft Opt-Out status, only opt-in email.

  • If you do not include this field in an import, its value is defaulted, based on the Unsubscribed to Marketing By Default option at Setup > Marketing > Marketing Preferences. By default, this option is disabled, and the Global Subscription Status field defaults to Soft Opt-In. When this option is enabled, the field defaults to Soft Opt-Out.

  • After an import, you can change the value of the Global Subscription Status between Soft Opt-In and Soft Opt-Out manually in the user interface and through mass updates. Only recipients themselves can change the value to Confirmed Opt-In or Confirmed Opt-Out.

Note:

The Global Subscription Status field replaces the previously used Unsubscribed field and enhances on its functionality.

Related Topics

What is the difference between leads, prospects, and customers imports?

When you import Lead, Prospect, or Customer data into NetSuite, you import into the Customer record. The Stage field on the Customer record defines the stage of “Customer” that is currently in the system - a Customer can be a Lead, Prospect or Customer. Leads automatically can become Prospects, and Prospects can become Customers.

Specifically:

  • Lead: enables you to track all the information you need to convert a lead into a customer. Leads have no estimates, opportunities or transactions associated with them. If an estimate or opportunity is created for a lead, the lead becomes a prospect. If you create a sales transaction for a lead, the lead becomes a customer.

  • Prospect: enables you to track all the information you need to convert a prospect into a customer. Prospects have no sales orders, invoices, cash sales or other sales transactions associated with them. They can have opportunities and estimates associated with them, however. If a sales transaction is created for a prospect, or an opportunity is closed for a prospect, the prospect becomes a customer.

  • Customer: enables you to track all the information about your current customers.

Related Topics

Should I import customers and contacts together or separately?

The Import Assistant enables you to perform separate import jobs for customers (meaning leads, prospects, or customers) and contacts, or to import both at the same time.

Setting up files for importing customers and contacts together can be complex. For instructions for importing customers and contacts together, see Importing Entities and Contacts Together. For information about how data is processed for these types of imports, see Import Job Processing for Entities and Contacts Imports.

You may find it simpler to import contacts and customers separately. For tips on how to do this, see Contacts Only Import. Especially review Importing Contacts for Existing Entity Data and Importing Contacts and New Entities Data.

Related Topics

Can I use the Import Assistant to import project data?

The Jobs import, a Relationships type import, enables you to import core project data and project resource data into NetSuite. See Projects (Jobs) Import.

In addition, a simplified Import Assistant is available for you to import project tasks data from Microsoft Project into NetSuite. See Project Tasks Import.

Related Topics

What is the difference between the following advanced options: Overwrite Sublists and Overwrite Missing Fields?

Both of these options apply to updates, and are not enabled by default, but one option applies at the sublist level and the other applies at the field level.

The Overwrite Sublists option applies to all data in sublists that have fields mapped for an import job. When this option is enabled, CSV file data for any sublists with mapped fields completely replaces any existing sublist data in NetSuite. If this option is not enabled, CSV file sublist data either selectively updates or appends to existing sublist data.

The Overwrite Missing Fields option applies to individual fields. When this option is enabled, any mapped CSV file fields with null values overwrite existing data in NetSuite fields, blanking it out.

Related Topics

Why didn't my CSV import job that created new records trigger my workflow based on record creation or update?

If a workflow is triggered when you create or update records in the NetSuite user interface, but is not triggered when a CSV import job creates or updates records, you probably need to enable the Run Server SuiteScript CSV and Trigger Workflows preference when performing the import. Workflows are treated as server-side SuiteScript, so they do not run if this preference is not enabled.

You enable this preference for the current import on the Advanced Options of the Import Assistant. Go to Setup > Import/Export > Import Tasks > Import CSV Records. On Step 2 of the Import Assistant, in the Advanced Options, check the Run Server SuiteScript and Trigger Workflows box. If the box is unavailable, you do not have permission to change the setting for the import, and the company setting will apply.

Related Topics

How can I import Price Level for transaction line items?

On the Field Mapping page of the CSV Import Assistant, expand the Items folder in the NetSuite Fields pane on the right side. Double-click the Price Level field to display it in the middle pane.

You should include a Price Level column (with values) in your CSV file that can be mapped to the NetSuite Price Level field. If you are unable to add this column, you can still map the Price Level field on the Field Mapping page, and then click the edit icon and select Custom as the default value. However, this default is not guaranteed to be a valid level for all items.

Important:

If you do not map the Price Level field for a CSV import, the base price from each item record is used as the price for each transaction line item. This behavior is consistent with the behavior when you add transaction line items in the user interface.

Related Topics

How do I know what the number is for an imported journal entry?

There are two methods for journal entry: a simple method you can use to import one journal entry at a time, and a more involved method you can use to import multiple journal entries.

If you use the simple method, available at Transactions > Financial > Make Journal Entries > Import, you do not have to provide the number for the journal entry in your CSV file. If you do not include this number, a default number is applied during the import process.

If you want to know the defaulted number for an imported journal entry, you can obtain it before you start the import from the View Mapping / Start Import page. Before you click the button to Run the import, do the following:

Click the Entry No. field in the right pane so that it appears in the center pane, then click its edit icon. The default value displays in the popup.

If you are importing multiple journal entries, you need to provide numbers in your CSV file.

Related Topics

General Notices