Scripting Customization Tools

SuiteCloud offers a comprehensive set of tools to support your NetSuite customizations.

SuiteCloud Software Development Toolkit

To build your SuiteCloud projects, use SuiteCloud Software Development Kit (SuiteCloud SDK). SuiteCloud SDK includes the following tools:

  • SuiteCloud IDE plug-ins (Integrated Development Environment) and extensions provide features such as code completion for SuiteScript files used in SuiteCloud projects. You can upload files to NetSuite, download files from the File Cabinet, validate internal IDs, and manage the deployment of custom objects to multiple NetSuite accounts. There's a SuiteCloud IDE plug-in for WebStorm and a SuiteCloud Extension for Visual Studio Code.

  • SuiteCloud Command Line Interface (CLI) is available for advanced users who want to use their own IDE.

For more information, see SuiteCloud SDK Overview.

SuiteCloud Development Framework

SuiteCloud Development Framework (SDF) lets you customize your NetSuite account from an integrated development environment (IDE) on your computer. For more information about getting started with SDF, see Getting Started with SuiteCloud Development Framework.

SDF lets you create customizations and deploy SuiteCloud projects to your NetSuite accounts. These projects are file-based and use XML to represent NetSuite objects, such as custom record types, custom record instances, workflows, and other customizations. For more information, see Customizations Supported by SuiteCloud Development Framework and the SuiteCloud Development Framework XML Reference.

SDF also lets you include templates and SuiteScript files. You can build, validate, and deploy SuiteCloud projects locally using SDF. SDF improves code portability and streamlines the deployment process across various NetSuite account types.

SDF lets developers use code to customize and deploy objects to an account, and it also supports distribution and object copying.

  • To distribute a SuiteApp to accounts, see Distribution.

  • To copy a single custom record (including its dependencies) from one account to another account, see Copy to Account.

SuiteScript

You can use SuiteScript to extend NetSuite, and to customize, search for, and process your NetSuite data. SuiteScript gives you full-featured application-level scripting that supports sophisticated procedural logic on both the client and server sides. There's also a SuiteScript Debugger for server scripts.

SuiteScript 2.1 provides a modern API that's familiar to JavaScript developers. The modularity of SuiteScript 2.1 supports encapsulation, keeps your code organized, and helps avoid global variable and method naming conflicts. Automatic dependency management lets you focus on logic instead of dependencies and load order. SuiteScript 2.1 supports most standard JavaScript features and gives you programmatic access to NetSuite. You can use custom modules to load your preferred third-party JavaScript libraries.

SuiteScript 2.1 supports SFTP file transfer, data caching, search pagination, flat file streaming, and enhanced encryption, decryption, and hashing. It also provides asynchronous client-side processing with promises and support for all HTTP content types. SuiteScript 2.1 also includes map/reduce scripts, which provide a structured framework to process a large number of records using server-side scripts.

SuiteScript 2.1 is the latest version of SuiteScript, based on the ECMAScript 2019 (ES2019) edition of the ECMAScript specification. It includes new language capabilities and supports all server script types, such as user event scripts, scheduled scripts, and Suitelets. SuiteScript 2.1 and future versions of SuiteScript will support features planned for future editions of the ECMAScript specification using ES.Next. There's a dedicated debugger to help you debug SuiteScript 2.1 scripts.

This latest version of SuiteScript is separate from previous SuiteScript versions such as SuiteScript 2.0. You can run SuiteScript 2.1 scripts alongside SuiteScript 1.0 and SuiteScript 2.0 scripts in your account without affecting existing scripts. Use the @NApiVersion JSDoc tag with a value of 2.1 to specify that your script uses SuiteScript 2.1.

For more information about SuiteScript 2.1, see the following topics.

Note:

You can't access all NetSuite fields and records with SuiteScript. The SuiteScript Records Browser and Records Catalog show which records, fields, sublists, search joins, search filters, search columns, and record transformations are supported. For more information, see Working with the SuiteScript Records Browser and Records Catalog Overview.

Related Topics

General Notices