NetSuiteFree calculatorPDF, Excel, Word exportNetSuiteAll NetSuite tools

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

records
rows

1 for items, customers and vendors; average line count for journals or sales orders imported one row per line.

bytes

File size divided by row count from a sample file.

80 %
s

Time a test job of a few hundred records and divide by the record count.

Your results

Import jobs needed
6
Estimated processing time
20 hrs
Assumes threads scale linearly, which is optimistic.
Total CSV rows
120,000
Record cap per job at your safety share
20,000
Rows that fit in the size cap
119,837
Records per job (file)
20,000
The smaller of the record cap and the size cap converted to records.
Jobs if each CSV row counted as a record
6
Conservative plan for multi-line transactions until you confirm how your import counts.

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.

Save results:

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.

Was this tool useful?

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.

ArchRay builder
Design the on-prem AI stack for NetSuite: model, GPUs, RAG pipeline, guardrails
See memory, speed and cost as you swap parts, then export the diagram. Free, in your browser.
Open the builder

Keep exploring

Free tools

ERP fixes and how-tos

Runs with your ERP

AI on your ERP

Integrations

Comparisons

Software