NetLease - Data Import Wizard
Overview
The NetLease Data Import Wizard allows users to import NetLease data in bulk into NetSuite using CSV or Excel files. The wizard uses AI-assisted field mapping to automatically match column headers to the corresponding NetSuite fields, and can also suggest matches between file values and valid list/record field options during field validation — reducing manual configuration effort for both column mapping and field validation. It supports Add, Update, and Delete operations and is compatible with a range of NetLease record types.
Prerequisites
- Access to the NetLease Data Import Wizard Suitelet
- Appropriate NetSuite role permissions to view and modify the target record types
- A CSV or Excel file prepared for import
Step-by-Step Process
Launch the Import Wizard
- Navigate to the NetLease Data Import Wizard by going to NetLease > NetLease Setup > System Setup > Import Tools > Data Import Wizard.
Select a Record Type & Upload File
- From the record type dropdown, select the NetLease record type to be imported. Supported record types include leases, lease types, lease modification proposals, lease payments, among others.
- (Optional) Select a template to load a previously saved configuration, including field mappings and operation type.
- Click Upload File Here to browse for a CSV or Excel file, or drag and drop the file into the upload box.
- Click Next to proceed to the next step.
Choose Upload Operation
- The Choose Operation step (Step 2 of the wizard) determines how the imported file interacts with existing records in NetSuite. The selected operation applies to all rows in the file.
- Operations are divided into two groups:
No Match Required — The wizard does not compare rows against existing records.
| Operation | What It Does |
|---|---|
| Add | Creates a new record for every row in your file. Your existing records will not be affected. |
| Replace | Deletes all existing records and replaces them with the rows from your file. This cannot be undone — all existing records will be permanently deleted. |
Match Required — The wizard compares rows against existing records using matching criteria that will be configured in the Row Matching step later.
| Operation | What It Does |
|---|---|
| Update & Add | Updates any existing record that matches a row in your file. Adds rows from your file that don't match any existing record. Existing records with no matching file row are not affected. |
| Update | Updates any existing record that matches a row in your file. File rows with no matching record are ignored. Nothing new will be created. |
| Delete | Permanently deletes any existing record that matches a row in your file. Your file must include a NetSuite Internal ID column to process a delete. This cannot be undone — double-check your file before proceeding. |
- After selecting an operation, the wizard displays a description and an operation visualization diagram that previews the expected outcome before proceeding.
Replace and Delete are destructive and cannot be undone from the wizard. Verify the file contents before proceeding.
- Click Next to proceed to the next step.
Select & Review Data
- The Select Data step displays a preview of the uploaded file along with the detected file name, total row count, and column count. Review this information to confirm the file loaded correctly before proceeding.
- On this page:
- Designate the header row — Check the Header box on the row containing column names. That row becomes the header used for column mapping, and any rows above it are automatically skipped.
- Skip rows — Check the Skip box on any row to exclude it from the import (e.g., blank rows, notes, or totals).
- Edit row values — Click the Edit (pencil) icon to correct values inline. Edits are temporary and apply to the current import session only.
- Select a sheet(Excel files only) — Choose which sheet to import; the preview updates accordingly.
- Once satisfied, click Next to proceed to the next step.
- The preview displays the first 20 rows of the file only. The full file is imported regardless of what is visible in the preview.
- If the header row contains blank or duplicate column names, a validation warning appears. Use the Edit button to resolve these before continuing.
Row Matching
- The Row Matching step defines how the wizard identifies existing NetSuite records that correspond to rows in the import file. This step is only required for Match Required operations (Update & Add, Update, and Delete).
- When matching is required, configure the following:
- Match Type— How file rows are compared against existing NetSuite records:
- Internal ID — Match on NetSuite's internal ID. The most reliable method, and required for the Delete operation (the page will note this).
- External ID — Match on the external ID field; useful when records were imported from another system.
- Record Name ID — Match on the record's natural-key field. For leases this appears as Lease ID.
- File Field — The column in your file that holds the matching values. Only columns with unique, non-blank values can be used.
- Match Type— How file rows are compared against existing NetSuite records:
- Below the selectors, a file columns table previews each column with validation. Each column is checked for whether it has unique values and whether it contains blanks — only columns that are both unique and blank-free are selectable. Valid columns are clickable to set them as the match field; invalid columns are grayed out and cannot be selected.
- When matching is configured, click Next to continue to the next step.
- For Delete, the wizard forces Internal ID matching.
- Rows that don't match an existing record are handled according to your chosen operation (e.g., skipped for Update, added for Update & Add).
Review Operations
- The Review Operations step provides a summary of how the import file will affect NetSuite records before column mapping begins. Review this page carefully to confirm the selected operation and matching configuration produced the expected results.
- The page displays the selected operation at the top, followed by an operation summary table:
| Column | Description |
|---|---|
| Row Type | The category each row falls into based on the operation and matching results (e.g., new rows, matched rows, unmatched rows) |
| Action | The action to be taken for that row type, color-coded by type (add, update, delete, no change) |
| Sheet Rows | The number of rows from the file that fall into that category |
| NetSuite Records | The number of existing NetSuite records affected |
| View Rows | Opens a preview of sample records in that category (available when the category contains at least one row) |
- Clicking View Rows opens a Preview of the records in that category below the table, so you can spot-check that matching identified the correct records before proceeding.
- When the summary looks correct, click Next to continue to the next step.
Note: The preview displays up to 1,000 rows per category. Review the counts and a sample from each row type to confirm the operation behaves as intended before mapping columns.
Map Columns
- The Map Columns step connects each column in the import file to the corresponding field on the target record type. This determines which data is written to which NetSuite field during the import.
- If any mapped field is a date or time field, CSV Date Format and CSV Time Format selectors appear at the top of the page (marked as required). These tell the wizard how to interpret date and time values in the file. Confirm these selections even if the wizard has tagged them as Detected — an incorrect format will cause validation errors on the next step.
- The page is built around a Column Mapping with Data Preview grid:
- Available Fields(left panel) — The pool of all unmapped fields for the target record type. Use the Filter fields... search box to locate a field quickly. Map a field by dragging it onto a file column, or by clicking the field and then clicking the row in the From Your Fileportion of the grid. Mapped fields are removed from the pool.
- Two helper controls appear above the grid:
- Auto-Match — Uses AI to suggest field mappings based on column names. Review and adjust all suggestions before proceeding.
- Clear All — Removes all current field mappings and any fixed values so the mapping configuration can be started over.
- Mapping grid(right panel) — Each file column appears as a row in the grid alongside a live preview of its data. The following controls are available per column:
| Control | Description |
|---|---|
| Map to NetSuite Field | A searchable dropdown to select the target NetSuite field for this column. Click X to clear a mapping and return the field to the Available Fields pool. Leave blank to skip the column. |
| Lookup By | Appears when the mapped field is a record or list field (e.g., Subsidiary, Vendor). Determines how the file value is resolved to the related record: Name, Internal ID, or External ID. |
| Default Value | Sets a fallback or fixed value for the field. For fields mapped to a CSV column, the default fills only blank cells. For fields not mapped to any CSV column, the value applies to all rows. |
Lookup By controls how related record values in the file are matched to existing NetSuite records. If the file lists vendors by name, set Lookup By to Name; if by internal ID, set it to Internal ID.
- Once all intended columns are mapped, click Next to continue to the next step.
Validate Data
The Validate Data step checks all mapped data against each field's type and requirements before any records are created or modified in NetSuite. This step catches issues such as incorrect data types, unrecognized date or time formats, and missing values in mandatory fields.
Mandatory fields are marked with an orange asterisk (*). Fields used as matching keys are flagged with a dedicated icon.
Possible outcomes:
- No errors — A green confirmation message indicates no validation errors were found. Proceed to the next step.
- Errors found — The page displays an error summary (e.g., "3 of 8 rows have validation errors") followed by a validation results table.
Validation Results Table
| Column | Description |
|---|---|
| NetSuite Field | The target field where the issue was detected |
| Field Type | The expected data type for that field |
| Error Description | A description of the validation failure |
| Errors | The number of rows affected |
| Fixed / Skipped | Tracks how many error rows have been corrected or excluded |
Click any row in the table to drill into the affected values and resolve the issue — either by correcting the data inline or by skipping the problem rows so the remainder of the import can proceed.
Skipped rows are excluded from the import while all valid rows continue to process. Confirm that excluding those rows is acceptable before proceeding.
Special cases:
- Delete operations — An additional check for circular dependencies runs automatically. Any records that cannot be safely deleted are listed and must be resolved before continuing.
- Missing date format — If a date or datetime field is mapped but no date format was selected on the Map Columns step, an orange warning appears. Return to Map Columns and set the format before proceeding.
Once validation is clean or remaining errors have been skipped, click Next to continue to the next step.
Match Lookups
The Match Lookups step resolves lookup fields in the mapped data — fields whose values reference other NetSuite records, such as Subsidiary, Class, Department, Location, or any select or multi-select field. Each file value must be matched to an existing NetSuite record before the import can run.
When the page loads, the wizard fetches available records for each lookup field type from NetSuite and automatically applies exact matches where possible.
Possible outcomes:
- Everything matched — All values show a green checkmark and the import can proceed.
- Values need attention — One or more record types have unresolved values. Next remains disabled until every value is either matched or skipped.
- No lookups to resolve — If no lookup columns were mapped, or all lookup columns are empty, a note confirms no action is required and the step can be passed through.
Record Type Summary Table
| Column | Description |
|---|---|
| Record Type | The target record type for the lookup field |
| Values | The number of distinct file values requiring a match |
| Matched | The number of values confirmed as matched |
| Skipped | The number of values excluded from the import |
| View Rows | Opens the detail panel for that record type |
| ✓ | Appears when all values for that record type are matched or skipped |
Resolving Values
Click any row in the summary table or View Rows to open the detail panel for that record type. Use the panel tools to auto-match and bulk-manage values first, then work through any remaining unresolved values manually in the detail panel.
Panel Tools
Controls at the top of the page apply across all record types:
| Control | Description |
|---|---|
| Auto-Match All | Runs exact, fuzzy, and AI matching passes over all unresolved values across every record type in sequence |
| Clear All | Resets mappings across every record type |
Controls within the detail panel apply to the currently selected record type:
| Control | Description |
|---|---|
| Hide Mapped / Hide Checked | Toggles to focus on values still needing attention |
| Refresh | Reloads available records from NetSuite. Use after creating a missing record. |
| New {Record Type} | Opens NetSuite in a new tab to create a missing record. Click Refresh afterward to make the new record available for matching. |
| Clear | Resets all mappings for the current record type |
| Skip | Skips all currently unmatched values for the current record type |
| Check | Confirms all mapped, non-skipped values for the current record type as reviewed |
| Auto-Match | Runs exact, fuzzy, and AI matching passes over unresolved values for the current record type only |
Detail Panel
The detail panel lists each distinct file value with the following controls:
| Column | Description |
|---|---|
| File Value | The value exactly as it appears in the file |
| NetSuite Value | A search selector to pick the matching NetSuite record. Press Enter to confirm and advance to the next row. |
| ID | The internal ID of the selected record |
| Count | The number of rows in the file containing this value |
| Match Type | How the match was determined (see below) |
| Skip | Excludes all rows containing this value from the import |
| Checked | Marks the mapping as reviewed. Set automatically when a value is selected. |
Match Type values:
- Exact Match — File value matched perfectly to a NetSuite record
- Fuzzy Match — Match based on similar text
- High / Low Confidence — AI-suggested match
- Multi-Match — Multiple possible records found; manual selection required
- No Match — No matching record found
Skipped values are excluded from the import while all matched rows continue to process. Confirm that excluding those rows is acceptable before proceeding.
If a mapping template is loaded and matched records have been renamed since the template was saved, a warning appears. Mappings remain valid as they are matched by internal ID, but should be reviewed before proceeding.
If records fail to load, a red error banner appears. Click Retry to reload records from NetSuite before continuing.
Once all values are matched or skipped, click Next to continue to the next step.
Submit
The Submit step is the final step of the wizard. Review the import description field, then click Submit to queue the import for processing. There is nothing left to configure at this stage.
When the page opens, the wizard generates the import file in the background from all configured settings — source data, column mappings, resolved lookups, and row matching results. A blue note reading "Generating CSV..." displays while this completes. Once ready, the page confirms the file is prepared for the import queue.
| Field | Description |
|---|---|
| Import Description | An optional label (up to 30 characters) to identify this import run. Appears on the import status page to help distinguish this run from others. A live character counter displays remaining characters. |
Submitting
Click Submit to queue the import. During submission, a status panel displays progress through the following stages:
- Preparing import...
- Processing file...
- Submitting import task...
Possible outcomes:
- Success — A green confirmation message appears and the wizard automatically redirects to the import status page after approximately 1.5 seconds.
- Error — A red error message describes what failed. Dismiss the panel and click Submit again to retry.
The import runs as a background job — the wizard does not need to remain open while the file processes. Use the import status page to monitor progress and review results.
Submitting queues the import only. Confirm actual record counts and review any row-level errors on the import status page once processing completes.
Import Wizard Status Page
After submitting an import, the wizard redirects to the CSV Import Status page automatically. The status page can also be accessed directly by navigating to NetLease > NetLease Setup > System Setup > Import Tools > Data Import Wizard Status.
This is a standalone monitoring screen that lists all submitted imports and provides tools to track progress, review results, download output files, and cancel active jobs. Click Back to Data Import Wizard at the top to start a new import.
Page Controls
| Control | Description |
|---|---|
| Auto Refresh | When enabled, reloads the list every few seconds so progress and counts update live |
| My Imports | Shows only imports initiated by the current user |
| Hide Complete | Narrows the list to imports that are actively In Progress |
| Record Type | Filters the list to a specific record type or all record types |
Filter and sort preferences are remembered between visits.
Import List
Each row represents one submitted import. The list defaults to newest first by Created Date. All columns are sortable.
| Column | Description |
|---|---|
| Description | The label entered on the Submit step |
| Record Type | The record type being imported |
| Created Date | When the import was submitted |
| Status | The current state of the import (see below) |
| Started | When processing began |
| Run Time | How long the job has run or took to complete |
| User | Who initiated the import |
| Total Records | How many records the file contains |
| Completed | How many records have been processed successfully |
| Errored | How many records failed — displayed in red when above zero |
| Progress | A live percentage bar; displays "—" while the import is pending |
Status Values
- Pending — Queued but not yet started
- In Progress — Currently processing
- Complete — Finished processing
- Error / Failed — Finished with failures
- Cancelled / Cancelling — Stopped by a user
Per-Import Actions
| Action | Description |
|---|---|
| Download → CSV | Downloads the full result file including all processed and errored rows |
| Download → Errors | Downloads only the rows that failed, ready for correction and re-import. Available only when an import has errored rows and has finished (Complete, Cancelled, or Failed). |
| Cancel | Available while an import is Pending or In Progress. Displays a confirmation prompt before stopping the job. |
Submitting an import only queues the job. Once the status reads Complete, review the Completed and Errored counts to confirm what was actually processed. Use Download → Errors to retrieve failed rows, correct them, and re-submit through the wizard.
Import Templates
A template saves the current import configuration so it can be reused for future imports of the same record type. Templates capture column mappings, row-matching setup, lookup value mappings, skipped values, field defaults, and date and time formats — everything except the data file itself.
Creating a Template
At any point after choosing a record type, click Save Import Template in the bottom toolbar, enter a name, and click Save. Template names must be unique per record type. If a template with the same name already exists, a different name will be required.
Updating a Template
When working from a saved template, the template name displays in the bottom toolbar alongside a Save button. Click Save to overwrite the existing template with the current configuration (a confirmation prompt appears before saving). To save the changes as a new template instead, click the dropdown arrow next to Save and select Save Template As, then enter a new name.
Loading a Template
On the first step of the wizard, select an existing template from the Import Template dropdown to load all saved settings. Use Manage Templates on the same step to rename, copy, or delete saved templates.
Considerations
- AI-assisted mapping is a starting point, not a guarantee. Review all suggested mappings before running the import. The wizard applies exact matching first, then AI-assisted matching, then fuzzy substring matching for any remaining unmatched columns.
- Mapping templates save time for recurring imports. For record types imported on a regular basis, saving a template avoids re-mapping on each run.
- Large imports may span multiple files. For very large datasets, the wizard handles multi-file imports automatically. Each batch is processed sequentially.
- Cancelled imports cannot be resumed. If an import is cancelled, a new import job must be initiated.
- Failed rows do not block the remaining import. Rows that encounter errors are skipped and captured in the error file; valid rows in the same job continue to process.
Troubleshooting
Rows are failing with validation errors.
- Verify that mandatory fields for the target record type are populated in the CSV.
Expected records are not being updated.
- Confirm the correct Match Required operation was selected and that row matching criteria are configured.
- Verify that the match field contains unique, non-blank values as required by the File Columns Preview validation.
The import completes but some records appear incorrect.
- Review the field mappings used during the import. An incorrect column-to-field mapping may have populated the wrong field.
- Re-run with a corrected mapping configuration if needed.
The import status page shows "Error / Failed."
- Download the error file via Download → Errors on the status page and review the error details for each failed row.
- Correct the affected rows and re-submit through the wizard.
For issues that cannot be resolved through the steps above, contact support@netgain.tech.
