Whether you're migrating from another system or simply need to bulk-update records, NetSuite's CSV Import Assistant is your go-to tool. It supports importing virtually any record type—customers, items, transactions, custom records, and more. This guide walks you through the process from start to finish.
Step 1: Download an Import Template
Before preparing your data, download a sample CSV template from NetSuite. Go to Setup > Import/Export > Import CSV Records. Select your record type, then click "Get Sample File" to download a template with all available fields and the correct column headers.
Step 2: Prepare Your CSV File
Open the template in Excel or Google Sheets and format your data:
- Use the exact column headers from the template. NetSuite uses these to map data to fields.
- External ID – Include an External ID column for each record. This is crucial for linking related records and for updating existing records later.
- Date format – Use the format matching your NetSuite date preferences (typically MM/DD/YYYY)
- List values – Use the exact text values that appear in NetSuite dropdowns (or internal IDs)
- Encoding – Save as UTF-8 encoded CSV to handle special characters
Common Field Mapping Tips
| Data Type | Format Requirement |
|---|---|
| Currency | Numbers only, no currency symbols (e.g., 1500.00) |
| Checkbox | T or F (True/False) |
| Subsidiary | Full subsidiary name or internal ID |
| Customer/Vendor | Name or Internal ID or External ID |
| Multi-select | Values separated by the pipe character (|) |
Step 3: Run the Import
Navigate to Setup > Import/Export > Import CSV Records. Follow the wizard:
- Import Type – Select the record type you're importing
- Data Handling – Choose "Add" for new records, "Update" for existing records, or "Add or Update" to do both. For updates, specify the matching field (Internal ID, External ID, or a unique field)
- Upload File – Select your CSV file
- Field Mapping – Map your CSV columns to NetSuite fields. Auto-mapping works when column headers match field labels. Manually map any unmatched columns.
- Save Mapping – Save your field mapping for reuse on future imports
- Review & Import – Review the summary and click Import
Step 4: Review Import Results
After the import completes, NetSuite displays a summary showing:
- Number of records successfully imported
- Number of records with errors
- A downloadable error file with the specific error for each failed row
Common errors include:
- "Invalid reference" – A list value doesn't match any existing record
- "Missing required field" – A mandatory field is empty
- "Duplicate value" – An external ID or unique field already exists
- "Invalid date" – Date format doesn't match NetSuite preferences
Import Order for Related Data
When importing data that references other records, import in this order:
- Subsidiaries (if using OneWorld)
- Custom Lists – List values referenced by other records
- Vendors – Before purchase-related transactions
- Customers – Before sales-related transactions
- Items – Before transactions that reference them
- Opening Balances – Journal entries for opening balances
- Transactions – Sales orders, invoices, purchase orders, etc.
Best Practices
- Always import a small batch first – Test with 5-10 records before importing thousands
- Use External IDs – They make future updates and cross-record linking much easier
- Back up your data – Before a large import, take note of your starting point
- Clean your data first – Remove duplicates, fix formatting, and validate references before importing
- Save your mappings – Reuse mappings for recurring imports
- Use sandbox for testing – Practice your import process in a sandbox before running it in production
Planning a large data migration to NetSuite? Contact YRK Consulting for expert data migration services.