NetSuite CSV Import Limit Calculator: File Splits and Run Time
This calculator splits a NetSuite CSV import into jobs that stay under the Import Assistant limit of 25,000 records or 50 MB per job, and estimates processing time from a rate you measure. It handles multi-line transactions such as journal entries, where one record spans several CSV rows.
Your numbers
1 for items, customers and vendors; average line count for journals or sales orders imported one row per line.
File size divided by row count from a sample file.
Time a test job of a few hundred records and divide by the record count.
Your results
Planning estimate. The 25,000 record / 50 MB per job limit is from Oracle help (General CSV File Conventions). Throughput varies with scripts, workflows, sourcing and account load; measure with a test job.
Jobs and hours as record count grows
Sweeps Records to import from 10000 to 500000, holding your other inputs fixed.
Get your migration load plan reviewed
Send record counts and sample file sizes per record type and we will return a load sequence with file splits and a cutover timeline.
Optional. The tool and every export work without this. No spam.
How to use it
Enter the number of records, the average CSV rows per record and the average row size from a sample file (file bytes divided by rows). Set the safety share: 80% leaves room for row-size variation and avoids a job failing on the last few rows. Then run a test import of a few hundred records with the same mapping and options, divide elapsed time by records, and enter that as seconds per record. The result gives records per file, the number of jobs and an estimate of hours, which is what you need to plan a cutover weekend. Split files on record boundaries: all lines of one journal must stay in the same file and share the same External ID.
- Use one saved import map for every file so each job behaves the same.
- Name files with a sequence number and log job ids from Setup, Import/Export, View CSV Import Status.
The limit and how the calculator applies it
Oracle help states that the Import Assistant has a limit of 25,000 records or 50 MB per import job, and that for a multiple file upload all files combined must be under those limits. The calculator computes the record cap (25,000 times the safety share), converts the 50 MB cap into rows using your row size, divides by rows per record, and takes the smaller. Oracle's wording counts records, but it does not spell out how lines of a multi-line transaction count, so the conservative output treats every row as a record. Plan on that figure for journals until a full-size test file confirms the larger one in your account.
- records_per_job = min(floor(25000 x share), floor(50 MB x share / row bytes / rows per record))
- jobs = ceil(records / records_per_job); hours = records x seconds per record / threads / 3600
Multi-threading, queues and speed
Under Advanced Options on the Import Options step there is a Use Multi-Threading checkbox, available only in accounts with a SuiteCloud Plus licence, and a queue selector. The number of queues and threads available depends on your service tier and SuiteCloud Plus licences, so check your own account before choosing 4 or 8. Multi-threading submits rows out of order, which breaks imports that depend on sequence, so most consultants keep transactions with lines single-threaded and use threads for items, entities and custom records. Turning off Run Server SuiteScript and Trigger Workflows during migration loads is often a larger speed gain than threads, if your process allows it.
Worked example
120,000 journal lines grouped into 30,000 journals of 4 lines, 350 bytes per row, 80% share. Record cap 20,000; the size cap fits 119,837 rows, or 29,959 journals, so 20,000 journals per job and 2 jobs. If every row counted as a record, the plan would be 120,000 rows over 20,000 per job, or 6 jobs. At 0.6 seconds per journal on one thread the load takes about 5 hours.
Frequently Asked Questions
What is the NetSuite CSV import limit?
Oracle help states the Import Assistant limit is 25,000 records or 50 MB per import job, and for multiple-file imports all files together must stay under those limits. Oracle recommends breaking large imports into smaller chunks for performance, so many admins plan files of 10,000 to 20,000 records.
How do I import journal entries by CSV in NetSuite?
Use Setup, Import/Export, Import CSV Records, type Transactions, record Journal Entry. Put one row per line and give all lines of one journal the same External ID so they group into one entry, with debits and credits balancing per group. Keep each journal's lines in the same file when splitting.
Does multi-threading speed up NetSuite CSV imports?
It can for records that do not depend on order, such as items, customers and custom records. It requires SuiteCloud Plus and processes rows out of sequence, so many consultants avoid it for multi-line transactions. Thread counts depend on your licences; the calculator assumes linear scaling, which real jobs rarely reach.
Why is my NetSuite CSV import so slow?
User event scripts, workflows, sourcing and duplicate detection run for every record. Large records with many lines and account-wide load also add time. Test with Run Server SuiteScript and Trigger Workflows off if your process allows it, measure seconds per record, then size files and the schedule from that measurement.
If your team wants to ask NetSuite about import results, failed rows and record counts in plain English instead of reading status pages, we can add that layer on your own infrastructure.
Related Tools
NetSuite RESTlet Batch Size Calculator
Find the largest safe batch per RESTlet call from usage units, payload size and execution time, plus the number of calls and wall-clock time.
NetSuiteNetSuite CSV Import Template Guide
Generate a one-page CSV import plan and column specification document for a NetSuite record type, ready to hand to whoever prepares the data.
NetSuiteNetSuite Integration Field Mapping Worksheet
Map source system fields to NetSuite fields with transforms, defaults and validation notes, and export the table to Excel for the build team.
NetSuiteNetSuite Integration Throughput Calculator
Estimate how many records per hour an integration can load and how long a migration will take, from call time, concurrency and retries.
More NetSuite tools
See all- NetSuite Saved Search Formula Generator
- NetSuite Role Permission Matrix Worksheet
- NetSuite Inventory Costing Method Reference
- NetSuite Month End Close Checklist
- NetSuite License Cost Estimator
- NetSuite User Access Request Form Template
- NetSuite Custom Record Design Spec Template
- NetSuite SuiteScript Deployment Handover Template
- NetSuite Sandbox and Release Change Log Worksheet
Keep exploring
Free tools
- NetSuite CSV Import Template GuideGenerate a one-page CSV import plan and column specification document for a NetSuite record type, ready to hand to whoever prepares the data.
- NetSuite Manufacturing Routing Operation Run Time CalculatorEnter setup time and run rate for up to four routing steps and a work order quantity to get total hours, elapsed days and the setup share.
- CSV Export File Size and Split CalculatorEstimate the size of an ERP CSV extract and how many files you need to stay under Excel's row limit or an upload size cap.
ERP fixes and how-tos
- How to Import CSV Data Into NetSuite ReliablyPractical NetSuite CSV import guide: field mapping, internal ID matching, update vs create, handling sublists, and avoiding common import errors.
- NetSuite CSV Import Stuck in Processing or QueuedA CSV import stuck on Queued or Processing usually waits on the shared queue, a record lock, or an expensive script. Check Job Status, queues and scripts.
- How to Set Up Budgets and Budget vs Actual in NetSuiteCreate budgets in NetSuite by account, department, class or location, import them by CSV, and run Budget vs Actual reports to track spend against plan.
Integrations
- How to use ChatGPT with Oracle NetSuiteConnect ChatGPT to Oracle NetSuite: custom GPT actions, exports versus live access, enterprise data controls, and when a private model is the safer choice.
- How to use Claude with Oracle NetSuiteUse Claude with Oracle NetSuite through MCP connectors, the Anthropic API, AWS Bedrock or Vertex, plus the on-prem alternative for controlled data.