SuiteCommerce
NetSuite 2021.1
2021-02-24

SuiteCommerce 2021.1: Reorder Items, Subscription Management, Mandatory TBA, and Extensibility API Additions

SuiteCommerce 2021.1 adds a Reorder Items feature, self-service subscription management via SuiteBilling, enforces token-based authentication for all developer tools, introduces new Extensibility API components and methods, drops almond and require.js, and requires Node.js 12.21.0.

Affects:SuiteCommerceSuiteCommerce AdvancedSuiteCommerce MyAccountSiteBuilderSuiteBillingExtensibility APISuiteCommerce Developer Tools

What changed

Reorder Items (SC MyAccount)

A new Reorder Items page is available in the My Account application. Logged-in users can view previously ordered items (product name, last purchase date, price) and add them back to cart. Controlled by the configuration property myAccountPreferences.reorderEnabled on the SuiteCommerce Configuration record under My Account > Preferences.

Subscription Management via Commerce Websites

Website users can now view and manage subscription services directly from My Account, reducing the need for back-office intervention. This feature integrates with SuiteBilling — subscription plans, price books, price plans, and billing accounts are all configured through SuiteBilling before exposing them on the storefront.

New configuration properties on the SuiteCommerce Configuration record (My Account > Subscriptions subtab):

  • subscriptions.lineStatusChange — controls whether users can change individual subscription line statuses.
  • subscriptions.allowToCancelSuspendRequiredLines — permits cancellation or suspension of required lines.
  • subscriptions.generalStatusChange — governs overall subscription status changes.
  • subscriptions.disallowUpgradeQuantity — blocks quantity upgrades.
  • subscriptions.disallowDowngradeQuantity — blocks quantity downgrades.

Token-Based Authentication Now Mandatory for Developer Tools

All SuiteCommerce developer tools — Extension, Theme, and SCA command-line tools — no longer accept user credentials. Only token-based authentication (TBA) is supported. This aligns with the mandatory two-factor authentication (2FA) policy for Administrators and highly privileged roles.

SuiteCommerce Advanced and SiteBuilder implementations require a specific patch to enable TBA support.

Extensibility API Updates

New and updated components in the Extensibility API:

  • Search (new component) — returns the base URL of the Item Search API. Accepts parameters that are appended as querystring values.
  • Environment — two new methods:
    • addTracker() — registers tracker objects that respond to application events (cart updates, page views, transaction completion).
    • triggerEvent() — fires custom events defined in a registered tracker.
  • UserProfile — new method getCreditCards() returns an array of saved credit cards (holder name, card number, expiration) for the logged-in visitor.
  • Cart — new methods:
    • getLatestAddition() — retrieves the last item added to the cart.
    • setPurchaseOrderNumber() / getPurchaseOrderNumber() — set or read the PO number on the order.
    • setShipMethod() — sets the shipping method.
    • setTransactionBodyField() — sets a custom transaction body field value.

Node.js Requirement Change

Developer tools now require Node.js 12.21.0. Older versions are not supported for Theme, Extension, or core SCA 2021.1 tooling.

Third-Party Library Removals

The following libraries have been removed from the SuiteCommerce bundle:

  • almond
  • require.js

If any custom extensions depend on almond or require.js being present in the global scope, they will break. No other library updates were made.

Translations

New extraTranslations configuration properties were added for locales: en_AU, en_CA, en_GB, fi_FI, id_ID, nb_NO, and vi_VN. These are configured under Multi-Domain > Translations.

What to do

  1. Switch to TBA immediately. If your CI/CD pipeline or any developer still authenticates the SuiteCommerce developer tools (gulp, Extension/Theme CLI) with username and password, generate TBA tokens via Setup > Users/Roles > Access Tokens and update your tooling configuration. For SCA and SiteBuilder deployments, apply the TBA patch referenced in Oracle's documentation before upgrading.
  2. Update Node.js to 12.21.0. Pin this version in your build environment. Older Node.js versions will fail with the 2021.1 developer tools.
  3. Audit custom code for almond / require.js dependencies. These libraries are no longer bundled. If your extensions reference require() via require.js (not the SC module loader) or rely on almond as an AMD shim, refactor to use SC's native module system.
  4. Enable Reorder Items if desired by setting myAccountPreferences.reorderEnabled to true on the SuiteCommerce Configuration record.
  5. Configure Subscription Management if you use SuiteBilling. Ensure SuiteBilling is fully set up (subscription plans, price books, billing accounts), then control self-service behavior via the five new subscriptions.* properties on the Configuration record.
  6. Leverage new Extensibility API methods in custom extensions. The Search component, addTracker()/triggerEvent() on Environment, getCreditCards() on UserProfile, and the new Cart methods are all available for use in 2021.1 extensions. Review Oracle's Extensibility API reference for method signatures and return types.
  7. Add translations for newly supported locales if your storefront serves those regions.