What is SuiteScript?

by Corynn Anderson in , , October 21st, 2022
Person holding jigsaw puzzle pieces

Solving the Puzzle of NetSuite Customization

Trying to understand NetSuite customization better? It primarily uses workflows and SuiteScript for automation.

When discussing NetSuite customization, most people have few questions about what a workflow is and are more curious about the technical side of things, such as how to set up workflows in NetSuite. On the other hand, the term SuiteScript prompts many questions, so I will take some time to dive into what SuiteScript is.

What is SuiteScript? NetSuite Programming Language

So what exactly is SuiteScript? As I mentioned above, SuiteScript is a primary part of customization in NetSuite. More specifically, SuiteScript is a NetSuite programming language that allows for automation throughout your NetSuite instance. If you are just getting acquainted with NetSuite, you might think that the coding language doesn't matter to you if you're not a developer who will be working with the code directly. So, let's explore how the powerful capabilities of NetSuite SuiteScript can benefit you.

Did you know you can even create new pages within NetSuite? Here are some ideas for automation if you are brainstorming ways to make your work more efficient.


How does SuiteScript work?

As stated above, SuiteScript is a scripting language used to extend and customize the capabilities of NetSuite. But how does SuiteScript work?

NetSuite SuiteScript enables full-featured application-level scripting capabilities that support sophisticated procedural logic on both the client and server sides. In addition, a SuiteScript Debugger is built into the language, giving you complete control of how you use your NetSuite and all available data.


Primary Benefits of NetSuite SuiteScript

One of the most significant benefits is that SuiteScript is built from industry-standard JavaScript and can be modified using HTML and CSS. This means that your in-house developers don't have to learn a whole new coding language to be able to work in NetSuite. Being built off of JavaScript also allows for full-featured application-level scripting in NetSuite, which is part of what gives the platform so much flexibility and performance.


Advantages of SuiteScript 2.0 vs 1.0

There are several advantages to using SuiteScript 2.0. The most significant improvement is the addition of the API modules. Unlike SuiteScript 1.0, modules in SuiteScript 2.0 only load the needed data instead of everything, which reduces the load time and computing power required to perform the functions. Another improvement is the change of syntax to a Javascript format; this allows for a flattened learning curve and the use of third-party APIs, such as USPS, FedEx, and PayPal, within your own NetSuite system.


SuiteScript Component Benefits

Looking deeper, several components within SuiteScript benefit businesses that use NetSuite. Following is a list of a few SuiteScript components, along with brief explanations of how each one benefits NetSuite users.

  • Suitelets — A Suitelet is an extension to SuiteScript that gives you the power to build a custom user interface hosted within the NetSuite framework. These Scripts run on the server side and can create customizable screens from elements pre-defined by NetSuite.
  • Scheduled SuiteScript — Scheduled SuiteScripts allow for periodically updating many records. As the name implies, these scripts allow SuiteScript logic to be processed on a defined schedule.
  • User Event SuiteScript  These scripts run on the server side of NetSuite, and are triggered when users open, edit, or save records. User Event Scripts can be used to enforce business rules and data validation.
  • Client SuiteScript — These scripts run within the user's browser and are triggered by pre-defined events in the browser. These scripts can be used to perform processing, such as validating user-entered data or running business logic.
  • Portlet SuiteScript — This type of SuiteScript allows for easy definition and listing of custom content or inclusion of external data feeds on NetSuite dashboards via RSS, HTML, Flash, and more.
portlet suitescript dashboard portlet example

A few other scripts that NetSuite developers will likely encounter are:

  • RESTlets - This type of Script should be considered if you want to integrate NetSuite with other applications. From this Script, it is possible to create a REST service that gives access to data from your NetSuite environment. 
  • Bundle Installation Script - Bundles are packages of custom objects developed in the DEV environment that can be installed in the production environment to customize NetSuite. Bundle Installation Scripts can be triggered when a bundle is installed or updated to accomplish actions like validating a license or migrating data.
  • Map/Reduce Script - Map/Reduce scripts are helpful when processing a large amount of data, for example, when performing grouping operations on one record to create other records. Map/Reduce Scripts can be scheduled or triggered manually.
  • Mass Update Script - A mass update script is just what it sounds like... it enables you to bulk edit NetSuite records by performing the same action to each of the records in a specified list all at once.
  • Workflow - NetSuite Workflows can automate a series of actions related to various records in NetSuite. For example, you may want to implement a custom workflow to approve sales orders, where the status of the sales order is changed based on user actions.
workflow script example workflow in NetSuite
Interested in learning more about NetSuite Workflows? Check out our article How to Create a NetSuite Workflow.


Using CodePen.io for SuiteScript

CodePen.io helps separate different types of code, which can be especially helpful if you're a beginner and need a little extra help remembering which type of code you're writing in. Knowing the difference between HTML, CSS, and JavaScript, as well as understanding how those interact together, is very important as you plan to do any SuiteScript coding. You'll notice that HTML, CSS, and JavaScript are separated into different sections within the CodePen.io system while you are editing the document and that CodePen.io combines the code for you when you export it. With CodePen, you can easily write code in HTML, do styling in CSS, and then JavaScript will be where you use heredoc in JSON. CodePen allows you to save the webpage on your local computer so you can test it, but the nice thing about CodePen.io is that you can do all your testing within that environment before exporting your code.


Help Resources for SuiteScript Debugging

The NetSuite Help Center is essentially a manual for NetSuite. It is compiled in a table format so you can access different information by expanding each header. You can also search for specific information within the NetSuite HelpCenter, but your search has to be pretty specific. SuiteAnswers is another resource you will use quite a bit as you work with SuiteScript. It is quite similar to the NetSuite Help Center, combining the same Help Center resources with other, more expanded use case help resources such as targeted help articles.


Hopefully, this post gives you something to work with while trying to understand NetSuite and what it can do for your business. If you have any questions and want some consulting advice, feel free to contact our team at Anchor Group.

Contact us

 
 

Want to keep learning?

Our team of NetSuite professionals has written articles on a wide variety of NetSuite topics, from SuiteCommerce tips, to recommended NetSuite solutions, to available support services, and more! 

Your cart