ExtendInsights for Data Management connects to NetSuite using SOAP Web Services (SuiteTalk). When you work in a template, ExtendInsights sends structured API requests to NetSuite to perform common operations:
Upload (create or update records from Excel)
Reload (retrieve records into Excel)
Delete (remove records from NetSuite)
This article explains what each button does behind the scenes, when to use it, and what data is (and is not) included in each operation.
Upload Operations
Upload (Create or Update)
What it does
Sends your worksheet data to NetSuite to create new records or update existing ones.
ExtendInsights decides whether to create or update based on the Internal ID column (Column B):
Internal ID present → NetSuite record is updated (upsert/update)
Internal ID blank → NetSuite record is created (new record)
➡️ Learn how to create or update records
Key rule
Do not edit or overwrite Internal IDs for existing records. Changing internal IDs can cause updates to be applied to the wrong record or fail.
Upload Methods: Real-Time vs Background Upload
ExtendInsights supports two upload execution modes:
Real-Time Upload (Sync Flow)
Best for: Small to medium uploads where you want immediate results.
Behavior:
You generally wait for the operation to finish before starting another upload job.
Not designed for queuing multiple uploads at once.
NetSuite line thresholds (common guidance):
Journal Entries: up to approximately 1,000 lines in real-time upload
Background Upload (Asynchronous Flow)
Best for: Large uploads, long-running jobs, and when users need to keep working.
Behavior:
Submits the job quickly, then processes it asynchronously.
Users can continue working in Excel and can submit additional jobs.
Jobs continue even if Excel is closed, and results are available when you return.
For details, refer to your Background Upload article.
Reload Operations
ExtendInsights supports three main download approaches, depending on what you’re starting with.
Option 1: Download using Saved Searches
What it does: Runs a NetSuite saved search and downloads the resulting records into your template.
How NetSuite is queried: A search request that returns matching records in read mode.
Use Saved Searches when you:
Already have a saved search that represents the exact dataset you want
Need consistent “reusable” logic that can be shared across users
Want NetSuite-controlled filtering (including complex criteria)
Important notes:
Saved searches are ideal when you need joins/logic that is better managed inside NetSuite.
Downloading via saved search is commonly used to pull records for review, cleanup, and then update.
Inventory detail limitation (common):
Saved search downloads may not return inventory detail such as serial numbers, lot numbers, or bins. If you need those, download first, then use Reload.
Option 2: Download using Data Filters (Rules)
What it does: Runs a query based on rules you define inside ExtendInsights (field/operator/value), then downloads matching records into your template.
How NetSuite is queried: Search request that returns records in read mode.
Use Data Filters when you:
Need ad-hoc filtering without creating a NetSuite saved search
Want quick iteration (adjust rules and re-download)
Need simple criteria (status/date/vendor/subsidiary/etc.)
Important limitation (inventory detail):
Inventory details such as serial numbers, lot numbers, and bins may not be returned via filter-based downloads. If you need inventory detail, download first, then use Reload.
Option 3: Reload using Internal IDs
What it does: Retrieves specific records by internal ID and loads them into the template in edit mode.
How NetSuite is queried: getList-style retrieval (record fetch for editing).
Use Reload when you:
Already know the records you need (you have internal IDs)
Need a record in “edit mode” to support accurate updates
Need additional record detail that may not be included in saved search or filter downloads
Inventory detail note:
If inventory details (serial/lot/bins) are required, Reload is the expected operation to pull those details into the workbook.
➡️ Learn different ways to reload records
Delete Operations
What it does: Deletes records in NetSuite based on the internal IDs provided in the template.
How it works: Performs a delete request for each internal ID.
Requirements:
The user’s NetSuite role must have Delete permission for the record type.
Internal IDs must be correct and must reference the record you intend to remove.
➡️ Learn different ways to delete records
Safe deletion workflow for large data sets
When deleting a large number of records, use the steps below to reduce mistakes and keep a recoverable copy of what was removed.
Reload the records first (recommended)
Use Reload to pull the records into edit mode using Internal IDs.
This helps confirm you are working with the correct records before deleting.
Save a copy of the records you are about to delete
Before deleting, save a backup of the worksheet/workbook (or copy the rows to a new worksheet).
This gives you a reference list of what was deleted.
Delete the records
Use Delete from NetSuite on the records in the table.
If you need to restore records later
Use your saved copy.
Clear the Internal ID column (Column B) for the rows you want to recreate.
Upload back to NetSuite to create new records.
Important note: this recreates records as new records with new internal IDs (it does not “undelete” the original internal IDs).
Deleting only a subset of rows
If you only want to delete some rows from a larger worksheet, enable Use selected rows only (Settings), then select consecutive rows and run the delete.
This helps prevent accidentally deleting records you did not intend to delete.

