What is doing NetSuite development like?

Sharing is Caring

Programming on any cloud platform can be a really frustrating experience. NetSuite has a lot of the same quirks and annoying things that other platforms have whether it be Salesforce, SharePoint, or something else. All of that aside, there are some good things if you try to be self sufficient and aren’t scared to reach out to NetSuite or have a decent network of other developers or consultants.

NetSuite SuiteAnswers

It can be incredibly frustrating because of really inconsistent documentation. The most annoying part of doing development for NetSuite is that there isn’t really a lot of resources online to help solve problems. There can be some really bad naming conventions that exist within NetSuite. For example, the transaction status codes are really strange

Generally, the 2010 looking website does have my answer or something close enough to help me reframe my query to find what I need.

Know JavaScript

If you already know JavaScript a lot of the potential problems can be solved by using SuiteHelp or SuiteAnswers. For the most part, I can get my answers on SuiteHelp it’s just annoying not being able to easily search using Google.

Under the hood NetSuite uses the Rhino javascript compiler to compile javascript to java files for execution. Assuming you use the most recent version of SuiteScript, you can do most things that you can in a browser (ie promises, async/await, etc).

Older versions of SuiteScript (v1) used really long internal API names for objects or methods. Newer SuiteScript thankfully uses a more object oriented approach.

Client Side Scripting

Thankfully, the Client Side Scripting APIs nearly identical on the client side as they are on the server side. This allows us to potentially test and debug our server side code in the browser. We just need to open up the Chrome Developer Tools or use Firebug to see where issues are potentially happening.


Like Salesforce and other cloud platforms, NetSuite can have a really challenging programming environment because you can’t exactly predict what the performance of your scripts will be.

It’s really important that you pay attention to whether queries are executing in a loop or not, making sure that you are using the right data types, and ensure that you are handling the limits. Hitting limits causes exceptions to be thrown which generally can’t be caught.

Transaction Handling

One of the potentially cool, and sometimes strange, things of NetSuite is that all the line items of a transaction be accessed as separate transactions. Sales Orders, Cash Sales, refunds can be accessed separately or at the same time even.

Wrapping It Up

NetSuite development and customization is not without it’s quirks. It can be really rewarding to work cross functionally with a lot of different departments and teams to solve problems.

The biggest thing with NetSuite is needing to be able to search for exactly what you need and not being scared to ask others.

Sharing is Caring

Brian is a software architect and technology leader living in Niagara Falls with 13+ years of development experience. He is passionate about automation, business process re-engineering, and building a better tomorrow.

Brian is a proud father of four: two boys, and two girls and has been happily married to Crystal for more than ten years. From time to time, Brian may post about his faith, his family, and definitely about technology.