Commerce Platform

This topic applies to

Applies to

SuiteCommerce Web Stores

Commerce Platform includes platform capabilities that you can use to build and deploy a more interactive and engaging shopping experience for customers. NetSuite 2019.1 includes the following enhancements:

Ability to Preview System Email Templates for Web Stores

In 2018.2, if you used system email templates for web store email, the only way to identify how the email looked to your web store customers was to sign up as a web store customer and trigger each email to be sent to your email address. To eliminate the need for this lengthy and tedious process, 2019.1 introduces the ability to preview any web store email that uses a System Email Template. Email can be previewed quickly and easily within NetSuite and you can switch between email sent by different websites.

Email can be previewed from the Email tab of the Web Site record. If a system email template is selected in the Select a System Email Template menu, clicking the Preview icon next to it opens the email preview selection window. In this window, you can choose the details of the email you want to see in the email preview. For all email types, you can choose the website from which the email is sent and the language of the email. The other options available depend on the email type. For example, you can select a sales order number to include in an order confirmation email preview. After you have selected all the options, you can preview the email.

For instructions on previewing email from the Web Site record, see the help topic Preview System Email Templates or the video Preview System Email Templates.


Email preview is available only for system email templates for web stores. It is not available for web store email templates or customized text groups because these features will be phased out soon.

Separate Shopping Cart for Each Business Customer Contact

Website administrators can now choose between two shopping cart options for their business customers:

  • Separate shopping carts for each customer contact – this option, available from 2019.1, enables each contact defined for a business customer to shop and check out using their own shopping cart. One contact’s cart is not visible to any other customer contact. This prevents situations where one contact removes items that another contact has added, or where one contact checks out an order before other contacts have added all the items they need.

  • Shared shopping cart – this option provides each business customer with a single shopping cart that is shared by all contacts who place orders for that customer. This pre-2019.1 option remains available in 2019.1.

The shopping cart option that is most appropriate depends upon the type of web store. For example, if a web store caters to large corporations that have many contacts placing orders, separate carts enable contacts to order the items they need without affecting each others orders. Shared carts may be more appropriate for other situations, such as small business customers where two or three contacts work together to place orders.

Website administrators can choose which shopping cart option (shared or separate) to use for each website.

Until 2018.2, order-related email were sent only to the contact who placed the order. In 2019.1, if the separate cart option is selected, a new email preference is available, which sends a copy of all order-related email to the main customer email address. This gives business customers greater visibility into orders placed by their contacts. Even if this email preference is not selected, business customers can easily identify who placed a sales order by checking the Relationships tab of the sales order form. The responsible contact is listed there with the new Order Creator role.

For more information, see Shopping Cart Options for Business Customers.

Image Compression for Web Store Images

Website administrators can use the new image compression feature to reduce the file size of images used in SuiteCommerce. Compressed images load faster resulting in better web site performance and improved shopper experience. The higher the compression level, the smaller the file size, and the quicker it is to load. Higher compression levels also lower the quality of the image. However, the reduction in quality typically is unnoticeable. The available levels of compressed image quality in SuiteCommerce are:

  • Very High (minimum compression)

  • Optimum (recommended)

  • Standard

  • Low (maximum compression)

If image compression settings have been defined for an image, a compressed copy of the image is created the first time it is accessed. The original image is not affected. The compressed copy of the image is cached, either internally or on the CDN, if CDN is enabled for the website.

Image compression settings can be defined at the website level and apply to all images displayed on website domains. Compression settings can also be defined in the File Cabinet for any subfolder of the Web Site Hosting Files folder. Defining compression settings at the folder level, means that images in the folder are compressed regardless of where they are accessed from. For example, images used in SCIS are compressed if they are stored in a folder which has image compression settings defined.

Image compression settings are applied only to images that are:

  • JPEG or PNG format

  • Between 500KB and 5 MB

  • Stored in the NetSuite file cabinet (images stored outside of NetSuite and linked to from the web site are not compressed)

  • Not already resized. Resized images are automatically compressed using the ‘Optimum’ image compression setting regardless of the setting chosen at the site or folder level. See Setting Up Image Resizing for SuiteCommerce for information about resizing images.

For more information about image compression settings and how to define them, see Setting up Image Compression for SuiteCommerce.

Ability to Track Subscription Email sent to an Entity

The existing Subscription Email feature enables you to send email to customers inviting them to subscribe to marketing email or confirm their existing subscription preferences. The new Subscription Message History subtab lists all subscription messages that have been sent to an entity in the past. If you review the information on this subtab before sending opt-in invitation or opt-in confirmation email, you can avoid spamming the entity with repeated or frequent email. The information can also help you to adhere to any local regulations that restrict the quantity of unsolicited email sent to entities.

The Subscription Message History subtab is located under the Marketing tab on all entity records. For each opt-in email sent to an entity, the subtab lists the type of subscription email (invitation or confirmation), date and time it was sent, name of the person who sent it, recipient name, recipient email address, and email template used. For more information, see the help topic Viewing List of Subscription Messages Sent to a Recipient.


Subscription message history is available starting from June 20, 2018.

Shopping Domains in System Email Templates

System email templates can now reliably identify the shopping domain on which an order was placed even if the domain is not marked as the primary domain. The domain name is available in the synthetic field domain, which is now included in the default system email templates for web stores. See System Email Templates for Web Stores for more information about default email templates.

You can also include the domain field in custom scriptable templates. Templates for web store email in the Order and Digital Delivery categories would benefit from having the domain included. See the help topic Synthetic Fields for Scriptable Templates for more information on creating custom scriptable templates.

Frequency of Updates to Dynamic Groups used as Audiences

In some cases, dynamic groups are used by NetSuite to determine whether or not a particular entity can access a specific asset. For example, you can restrict a folder in the File Cabinet to a dynamic group. You can also publish a tab or category to a dynamic group using the Audience subtab of the tab or category record. The audience that can see such a folder, tab, or category is updated whenever the folder, tab, or category record is saved.

Until 2018.2, the audience that could see the folder, tab, or category was also updated every 24 hours. From 2019.1, the audience that can see the folder, tab, or category is updated approximately 12 hours from the time it was last updated. Therefore, the list of people who have access to the folder, tab, or category is updated:

  • whenever the dynamic group record is saved, and

  • 12 hours after the dynamic group record was last updated.

Out of Stock Items in Web Store Email

The new itemAvailabilities synthetic field returns the number of items available for sale, taking into consideration items in warehouses minus items already committed to other orders. You can use this field in system email templates to calculate whether or not an item is out of stock. The exact calculation to obtain this information depends on how you have set up the ordering workflow in NetSuite. You can use the result of the calculation in the template to display whether the item is out of stock or not. For more information about the itemAvailabilities synthetic field, see Records and Fields Available in Website System Email Templates.

Support for Site Builder Secure Shopping Domains

If you have any of the following releases of Site Builder, you can use SSL certificates to secure the shopping portion of your Site Builder web store. See Secure Web Store for details.

  • Site Builder (without Extensions)

  • Site Builder Extensions or Site Builder Extensions Premium (Elbrus)

  • Site Builder Extensions or Site Builder Extensions Premium (Kilimanjaro)

If you have a different release of Site Builder, secure shopping domains may be available with a patch.

Support for SuiteTax in the Commerce API

SuiteTax provides greater flexibility to support country-specific needs and legislation changes regarding tax calculation and reporting. In 2019.1, to support SuiteTax on SuiteCommerce websites, the Commerce API has been enhanced as follows:


Tax calculations using SuiteTax are available in SuiteCommerce web stores for calculating US and Canadian taxes only. Future releases will include support for other countries.


SuiteTax is not supported for tax calculation on SiteBuilder websites.

For general information on SuiteTax, see the help topic SuiteTax.

API Support for Payment Card Tokens

The Payment Instruments feature in NetSuite makes using various payment methods more straightforward and, in the case of payment cards, more secure. The feature uses tokenization to substitute sensitive credit card data with secure Payment Card Tokens. To enable payment tokenization on web stores, you must upgrade to SuiteCommerce 2019.1. For information on using Payment Card Tokens in SuiteCommerce, see SuiteCommerce Payment Instruments Integration.


Payment Card Tokens are not supported for Site Builder websites or websites using SuiteCommerce versions earlier than 2019.1.

Commerce API methods have been updated to support the use of Payment Card Tokens in SuiteCommerce websites. The updated methods are:

The following methods must not be used if the Payment Instruments feature is enabled:

  • Customer methods: addCreditCard, getCreditCard, getCreditCards, removeCreditCard, and updateCreditCard

For payment cards to be tokenized automatically when they are used to place an order on the web store, Require Authorization for Credit Card Transactions must be checked on the Shopping tab of the Web Site Setup record.

For general information on Payment Card Tokens, see the help topic Tokenization.


Only Payment Card Tokens are supported on SuiteCommerce websites. General Tokens are not currently supported.

CNAME Flattening is now supported in SuiteCommerce

CNAME Flattening is a feature specific to DNS providers, which when enabled, lets you use a dynamically distributed A record for your root domain. With CNAME Flattening, your website can reap the benefits that a CDN provides while you use your root domain to host several services.

From 2019.1, you can safely use a dynamic A record for your root domain in SuiteCommerce, as opposed to a static A record that points to a fixed IP address. For more information, see Website Domains and Email Hosting.


CNAME Flattening is a feature specific to DNS providers. Therefore, you should choose a DNS provider that offers this feature and set it up for your domain.

Application Publisher Name when using SDF for SSP Applications

If you use SuiteCloud Development Framework (SDF) to develop SSP applications, you must use the Application ID as the Application Publisher name. For information about Application IDs, see the help topics SuiteApp Application ID and for information on Application Publishers, see The URL Root and its Components.

Use of SuiteScript Version 2.x in SSP Application Scripts

SSP applications contain .ssp files and .ss files, which can be written in either SuiteScript 1.0 or SuiteScript 2.0. All script files written in SuiteScript 2.0 must begin with the declaration <%@ NApiVersion="2.x" %>. This ensures that the script automatically uses the latest minor version of SuiteScript 2.0.

The use of <%@ NApiVersion="2.0" %> is no longer supported.

For more information about SSP Applications, see SSP Applications.

Permanent Security Improvements to External URLs

To improve the security level of your NetSuite experience, in version 2016.1, the security level was upgraded for all externally available URLs used to link to pages, forms, and files in NetSuite. The URLs for these pages and files were updated in the UI when the account was upgraded to version 2016.1.

In NetSuite 2019.1, the security level of all external URLs used to link to NetSuite resources will be permanently upgraded. This affects external links to the following:

  • online case forms

  • support case reply pages

  • online custom record forms

  • online customer forms

  • downloadable items on a webstore

Newly created system generated email messages containing links to these types of resources will automatically have the new URLs applied.

As of 2019.1, the previous insecure URLs will no longer work. This change applies to all accounts.

If you have manually embedded insecure links in your pages, you can copy and paste the new URLs by going to the External subtab of the affected form. For more information, see the help topic Linking to Online Forms. You can test the changes to external URLs on your Release Preview account, if you have one.

You must also inform your customers and other online form users that the URLs have changed and provide them with the new URLs.

CMS Page Types

The CMS Page Type record lets SMT extension developers create page types that can be used by the extension. The page type defines a set of attributes specific to that type. These attributes include the following:

  • Base URL Path – The base URL path lets you customize the URL for all pages of that type. For example, if you a have a page type of blog and a base URL path of blog, all blog pages are accessed by[page url].

  • Custom Record Type – This a group of settings and attributes you can set for each page type.

  • Active or Inactive – If the page type is inactive, existing pages of that type still display, but you cannot create new pages of that type.

  • CMS Creatable – If set to yes, you can create instances of this page type in SMT. If set to no, the page type is hidden in SMT.

CMS Page Type records are defined in NetSuite at Lists > Web Site > CMS Page Type. The CMS Page Type is dependent on the 19.1 release of SuiteCommerce.

See CMS Page Types.