Reading Time: 12 minutes

Future Proof your Investment: the resilience of NetSuite SuiteScripting and APIs

Executive Summary

NetSuite ERP allows a unique opportunity to extend it seamlessly to support your current and future business requirements. Some extensions are configuration based, others customization leveraging NetSuite SuiteScript and Web Services. See how your investment will support your business for years to come.

In 1998, NetSuite pioneered the Cloud Computing revolution, dedicated to delivering business applications over the Internet. In 2016, Oracle completed the acquisition of NetSuite. Today, NetSuite provides a suite of cloud-based Financials/Enterprise Resource Planning (ERP) and Omnichannel Commerce software that runs the business of more than 21,000 customers in more than 200 countries and territories.

NetSuite, apart from its depth and breadth of functionalities, also provides an unique opportunity to seamlessly extend the system. This includes a series of abilities like, creation of custom fields, custom records, forms, workflows, and scripting (business logic). This allows customers to homogeneously extend NetSuite by using the shared objects to meet their unique requirements.

What is the secret of NetSuite’s success over all these years? Why is the future bright? Why invest and extend your platform?

Yet some prospects and customers are concerned that their investment in these customization and extensions might not withstand future changes with ongoing upgrades from NetSuite.

Let us address these concerns.

Future Proof your Investment

We will discuss three elements of your investment in NetSuite extensions:

  • Use of SuiteScripting, the native NetSuite scripting language (based on JavaScript) to extend back-end and front-end capabilities

  • SuiteTalk Web Services (SOAP) for integrations

  • SuiteTalk REST Web Services (REST) lightning fast integrations

In general, NetSuite performs two major releases a year. During each release NetSuite provides a Release Preview (Sneak Peek) and complete documentation and release notes. It is always prudent to test your environment and your customization in the release preview. That said, we have traditionally seen very little or no regression impact of these upgrades on existing code developed using NetSuite standards and best practices.

Compatibility: NetSuite strives to maintain backward compatibility from one NetSuite version to the next.

Let’s examine the three areas:

SuiteScripting

Built on industry-standard JavaScript, we use NetSuite’s scripting language, SuiteScript, to extend and customize, search, and process your NetSuite data. NetSuite SuiteScript enables full-featured application-level scripting capabilities that support sophisticated procedural logic on both the client and server sides, as well as robust debugging.

Tech Note: Always use the latest version of SuiteScript to ensure you take advantage of the modularity and full complement of features, like sFTP and Map/Reduce.

SuiteScripting Background:

SuiteScripintg has gone through one major release change from SuiteScript 1 to 2 (2019). The new version of the has been updated to 2.1 to include the existing features and functionality that SuiteScript 2.0 offers, and it also supports new language capabilities that were introduced in the ECMAScript 2019 (ES2019). SuiteScript 2.1 supports all server script types, such as user event scripts, scheduled scripts, and Suitelets, and it is backward compatible with SuiteScript 2.0.

Tech Note: Due to the inherent inconsistency of supported client browser environments, NetSuite SuiteScript 2.1 is not yet supported for client scripts.

This latest version of SuiteScript is separate from previous SuiteScript versions (1.0 and 2.0), and you can create and run SuiteScript 2.1 scripts alongside SuiteScript 1.0 and 2.0 scripts in your account. Your existing scripts are not affected. Major versions are not backward compatible with previously released versions but as you can see, they are self-contained and supported. Your investment is not lost.

Tech Note: Use appropriate annotation @NApiVersion 2.1 and assess and set the Account Level Preference for Run SuiteScript 2.x Server Scripts As.

Version Cohabitation Rules:

You can have multiple scripts in your account that use different NetSuite SuiteScript versions. These scripts can be deployed in the same account, in the same SuiteApp, and on the same record. However, you cannot use APIs from different major versions of SuiteScript in one script. For example, you cannot use SuiteScript 1.0 APIs and SuiteScript 2.0 APIs in the same script.

SuiteTalk Web Services (SOAP)

The SOAP web services platform provides programmatic access to your NetSuite data and business processes through an XML-based application programming interface (API). These SOAP web services are Extensible Markup Language (XML) applications mapped to programs, objects, databases or complex business functions. They utilize a standardized XML messaging system to send or receive requests to authorized parties over the internet.

Businesses can implement SOAP web services to provide standards based processes that can be utilized by other organizations or integrated with business partner processes. Since the programming logic encapsulated by each Web service is independent of any one platform or technology set, SOAP web services provide an independence and flexibility for integration across and between businesses.

SOAP web services use a single WSDL file (or endpoint) that describes all supported operations and messages and this is the key to your investment. With every new release of NetSuite a new WSDL is created that includes any new functionality but you are not required to upgrade your WSDL when your NetSuite account is upgraded.

NetSuite customers typically upgrade their WSDL when a newer version includes functionality that enables them to meet a particular or new business need. In this case, new code is needed regardless. Customers will also upgrade their WSDL when the one they are currently using is going to be retired by NetSuite. That said, NetSuite actively supports the last six (6) endpoints and keeps available an additional eight (8) endpoints, so the last 14 versions are available translating to a useful life of approximately seven (7) years! In this timeframe, we usually see customers take advantage of new functionality that will address new business requirements, this means new code, as mentioned above.

SuiteTalk REST Web Services (REST)

The NetSuite REST web services provide an integration channel that extends the capabilities of SuiteTalk. REST web services provide a REST-based interface for interacting with NetSuite.

The main benefits of REST web services include the following:

  • Simple access to records metadata. This includes user and company-specific metadata.

  • Easier handling of custom records and custom fields.

  • Easy to navigate API.

Access to REST web services is by only using an account-specific domain. Account-specific domains are unique to your account because they contain your account ID as part of the domain name. These domains do not change when your account is moved to a different data center. The REST URL also includes a service version, currently there is only one version (v1). As mentioned above, NetSuite strives to maintain backward compatibility from one NetSuite version to the next. The URL structure implies that future versions are possible that will cohabitate with the current version.

REST URL Sample:

NetSuite - Rest URL sample

The URL consists of the following parts:

  • 1. Protocol

  • 2. The account ID of your NetSuite account

  • 3. The domain name for REST web services

  • 4. The complete REST API services endpoint

  • 5. The specific services that is being accessed, for example, record, query, or other service

  • 6. The service version, which specific to each service

  • 7. The optional sub-service, for example, metadata-catalog, SuiteQL, or workbook

  • 8. Query parameters

Conclusion

With a modular approach and carefully built architecture that provides maximum backward compatibility, NetSuite is definitely a great platform that will provide great returns on your customization investments.Developing with these in mind, we and NetSuite future proof your investment.

NetSuite is complicated – We make it simple

Leverage our knowledge base and decades of experience to maximize NetSuite’s functionality for your business. We know what NetSuite does well and what it doesn’t. Schedule your 1-hour optimization call with our expert NetSuite team today, our gift to you.

Appwrap