NetSuite estimate CSV import: a practical checklist

Prepare and test a CSV import for sales estimates, with a two-quote example and checks for updating existing item lines.

Arda Bulut

Co-Founder & CTO of Bourne · Published

You have a spreadsheet of prepared customer quotes and want to load them into NetSuite. Estimate CSV import can do that, but the file needs to identify which rows belong to each quote and which NetSuite customers and items they reference.

That is the main preparation work. Once you have resolved those identities, you can map the columns, test a small import and check the saved estimates. This guide uses a two-quote example to explain the process, including why updating existing quote lines needs a separate test from creating new ones.

Prepare the customer and item references first

A CSV import is useful for a controlled migration or a batch prepared by another system. It does not solve an ambiguous RFQ. If the source still contains customer nicknames and free-text parts, complete data mapping and item matching first.

Oracle’s estimate import reference supports single-file and multiple-file approaches. It requires the Estimates feature and explains identifiers, line data and currency restrictions. Use that reference alongside your account’s required fields; a generic spreadsheet is not a universal import template.

Use one quote reference across its item rows

Use a stable identifier for each estimate and repeat it on each associated line. Use stable customer identifiers rather than names. Decide whether the job adds new records or updates existing ones before you upload the file.

In this example, the first two rows belong to one quote, RFQ-217-R1. The third belongs to another. The column names describe the source data; you still need to map them in the Import Assistant:

source_quote_id,customer_internal_id,item_internal_id,quantity,unit_rate
RFQ-217-R1,412,981,10,42.50
RFQ-217-R1,412,982,4,125.00
RFQ-218-R1,527,981,20,41.00

These example IDs are placeholders. Map the columns to the fields in your own account and add required subsidiary, currency, form or custom values. The same file cannot work in another account until those references and required fields are correct.

For updates, decide how each source line maps to the existing transaction line. An item can appear more than once with different dates or specifications, so item ID alone may be insufficient.

Test creating quotes before testing line updates

Import a small batch that includes one multi-line quote, a repeated item and a customer with specific pricing. Then test a correction to an existing record.

Check the account’s sublist handling and overwrite settings before updating. Do not assume an import that correctly changes a header will safely replace every item line. Confirm the saved line count and quantities after the operation.

Oracle’s pricing-data import guidance addresses item master prices, a separate import job. Loading estimate rates does not maintain the customer’s future pricing rules.

Open the imported estimates and compare them with the file

A successful import means the rows passed the import checks. You still need to verify that you mapped them to the intended customers and units. Compare source and saved results for record count, customer, currency, line count, quantities and totals. Generate the customer document for representative records too.

Keep a row-level error file and correct only the failed scope. Re-uploading the entire batch without a stable update strategy risks duplicates or unintended changes. The same recovery principle applies to API synchronization.

Bourne can prepare and review structured estimate data from incoming requests, but ongoing event-driven work often fits an estimate API integration better than repeated manual uploads. Choose the method based on volume, timing and who handles failures within your integration plan.

Include at least one manufacturing unit conversion in the import trial. UNECE’s trade unit codes provide a common vocabulary, but they do not supply your item-specific carton or cut-length conversion.

For example, prepare a line for 20 bars at six metres each, priced at $5 per metre. The intended total is $600. Check whether your import represents 20 bars at $30 or 120 metres at $5, according to the configured item units. An imported line for 20 at $5 can pass field validation while understating the quote by $500. Verify the displayed unit and total together.

Frequently asked questions

Can NetSuite import sales quotes from CSV?

Yes. Oracle documents Estimate imports when the Estimates feature is enabled. Check the supported fields and sublists for your account before preparing a production file.

Should we use customer names in an estimate import?

Prefer the customer’s internal or external identifier. Names can repeat or change, and Oracle recommends unique identifiers for the customer reference.

Why did an update leave unexpected quote lines behind?

Review the line keys and sublist update settings. Updating a transaction is not necessarily a full replacement of its lines. Reproduce the behavior with a small sandbox example before retrying the batch.

Further reading

Oracle: Estimate import reference
NetSuite documentation for the record or feature discussed in this guide.

UNECE: units of measure codes
Recommendation 20 provides standard codes for units used in international trade.

Arda Bulut

Arda Bulut is the co-founder and CTO of Bourne and HockeyStack. He leads engineering at Bourne, building the platform people use to create AI products, agents and automations.