Book a Free Consultation
Knowledge Base

NetSuite Resources

Reference articles for NetSuite developers and administrators: SuiteScript patterns, performance optimization, workflow design, and more.

SuiteScriptAuthenticationSecurity

How to Migrate NetSuite RESTlet Integrations from NLAuth to Token-Based Authentication

NLAuth stops working in NetSuite 2027.1. Here are the steps to audit your RESTlet integrations and migrate them to Token-Based Authentication before the deadline.

4 min read
SuiteScriptNetSuite TipsSecurity

How to Use Sequential Batch Processing in NetSuite REST Web Services

NetSuite 2026.2 adds sequential processing for REST batch operations so you can run multiple API requests in a guaranteed order. Here is when to use it and what it means for dependent operations.

2 min read
SuiteScriptSuiteQLSecurity

How to Use Bound Parameters in NetSuite REST SuiteQL

Bound parameters let you pass dynamic values to SuiteQL queries separately from the query string, preventing injection vulnerabilities. Here is the format and how to convert an existing query to use them.

3 min read
SuiteScriptSuiteQLNetSuite Tips

How to Fix NetSuite SuiteQL Queries Affected by the 2026.2 Default Sort Change

NetSuite 2026.2 changed the default sort for Transaction table SuiteQL queries from tranDisplayName to tranDate. Here is how to find and fix queries that relied on the old default order.

3 min read
SuiteScriptPerformanceSaved Search

Why search.runPaged() Should Replace search.run() for Large Datasets

search.run().getRange() has a 4,000-record ceiling in SuiteScript. Learn when to use search.runPaged() and how to implement it correctly to avoid silently missing records.

3 min read
SuiteScriptPerformanceUser Event

record.submitFields() vs record.load() in SuiteScript: Choosing the Right Update Method

Using record.load() to update a single body field is one of the most common SuiteScript performance mistakes. Learn when to use record.submitFields() — and the critical User Event caveat you need to know before switching.

3 min read
SuiteScriptPerformanceSaved Search

Why You Should Never record.load() Inside a Loop in SuiteScript

Loading records inside a loop is one of the most common SuiteScript performance mistakes. Learn how to use saved search columns instead, and when record.load() in a loop is actually unavoidable.

3 min read
SuiteScriptPerformanceBest Practices

record.load() vs search.lookupFields() in SuiteScript: When to Use Each

If you only need a few field values from a known record, search.lookupFields() is significantly faster than record.load(). Learn the difference, when each applies, and what search.lookupFields() cannot do.

4 min read
SuiteScriptMap/ReducePerformance

NetSuite Scheduled Script vs Map/Reduce Script: Choosing the Right Script Type

Using a Scheduled Script for work that should be handled by Map/Reduce is one of the most common causes of governance limit errors and slow batch processing. Learn the difference and when each type applies.

4 min read
SuiteScriptUser EventBest Practices

NetSuite beforeSubmit vs afterSubmit: Choosing the Right User Event Trigger

beforeSubmit and afterSubmit serve different purposes in NetSuite User Event scripts. Using the wrong one causes silent failures, data errors, and missed business logic. Learn when each fires and how to choose correctly.

4 min read
SuiteScriptUser EventClient Script

NetSuite User Event Script vs Client Script: When to Use Each

User Event scripts run on the server. Client scripts run in the browser. Choosing the wrong one means your business logic silently fails whenever records are saved via API, CSV import, or workflow. Learn the distinction and how to apply it.

4 min read
NetSuite Resources | SuitePacific | SuitePacific