SuiteCommerce
NetSuite 2016.2
2026-04-08

SuiteCommerce Advanced Vinson: Services Architecture Overhaul, JSON Configuration, and New Storefront Features

The Vinson release of SuiteCommerce Advanced replaces per-service .ss file logic with a centralized ServiceController pattern, moves configuration from JavaScript files to JSON records (bundle 135010), and adds Commerce Categories, Store Locator, Newsletter opt-in, and several checkout enhancements.

Affects:SuiteCommerce Advanced (Bundle 134179)Site Builder Extensions (Bundles 134180, 134181)SuiteCommerce Configuration (Bundle 135010)ServiceController.jsSC.EventWrapper.jsCommerce CategoriesCyberSource Decision Manager

What changed

Services architecture rewrite

The biggest under-the-hood change in Vinson is how SCA handles backend services. Previously every service lived in a single .ss file that contained its own request-handling logic plus code duplicated across all services. Vinson factors that out into a layered controller stack:

  • SC.EventWrapper.js — centralized Before/After event hooks, extensible by any service.
  • ServiceController.js — shared service logic that used to be copy-pasted into every .ss file. Extends SC.EventWrapper.js and references ServiceController.Validations.js for common request validation.
  • [Module].ServiceController.js — per-service controller that extends ServiceController.js and calls the backend model.
  • [Module].Service.ss — now auto-generated by the dev tools (driven by ns.package.json). It simply delegates to its [Module].ServiceController.

Custom services must follow this new pattern. The ns.package.json in your module signals the dev tools to generate the .ss file and wire it to the correct controller.

Configuration moves from JS to JSON

Configuration properties previously scattered across Configuration.js, SC.Configuration, SC.Checkout.Configuration, SC.MyAccount.Configuration, and SC.Shopping.Configuration are now stored in JSON files inside a Configuration/ subdirectory within each module. These JSON files define schemas and default values.

A new SuiteCommerce Configuration bundle (ID 135010) exposes a NetSuite record at Commerce > Websites > Configuration for editing properties in the UI. Custom modules require you to create new JSON configuration files manually.

Commerce Categories integration

SCA sites can now use NetSuite Commerce Categories to build hierarchical product catalogs (categories → subcategories → items). Each site gets one catalog. Requires setup in NetSuite and SCA configuration; see the Categories Subtab properties.

Store Locator

New Store Locator feature lets shoppers search for physical store locations by address, city, or zip code with results rendered on an interactive map. Uses Google Maps as the default engine. Implementation requires:

  • A custom Customer Center Role.
  • Elevated Permissions on the backend .ss service file.
  • Feature property configuration.

A Store Locator link and pin icon are added to the site header automatically.

Newsletter opt-in

Adds a newsletter sign-up link in the site footer. Submitted email addresses are validated against existing Customer or Lead records. New subscribers get a Soft Opt-In global Subscription Status. If no matching record exists, a new Lead is created. Setup requires:

  1. Enable subscriptions in the NetSuite account.
  2. Create a new Employee Center role.
  3. Configure Elevated Permissions.
  4. Set feature properties.

This is opt-in only — it does not manage campaigns or content.

Checkout enhancements

  • Purchase Order field — The Display Purchase Order Field on Payment Info Page preference (Commerce > Websites > Website List) now works for SCA (previously Site Builder only). PO numbers attach to generated sales orders and are searchable.
  • Guest user name/email fields — New configuration properties forms.loginAsGuest.showName, forms.loginAsGuest.showEmail, and autoPopulateNameAndEmail control guest checkout identity collection and auto-fill. Set via the SuiteCommerce Configuration tool.
  • Save credit card preferencesDisplay 'Save My Credit Card Info' Field and Save Credit Card Info by Default preferences now available for SCA sites.

Quotes enhancements

Users with quote-creation permissions now see an Add to Quote button on product detail pages. Requires the new Items Searcher field set, which is included in the field set setup script.

Alternative Payment Methods expansion

Alternative Payment Methods now work when paying for sales orders converted from a Request for Quote and when making invoice payments. No additional configuration needed.

SCIS Integration updates

Shoppers can now view/print a PDF of individual purchases from the Purchase Details page and see if a purchase is tied to an existing sales quote. No additional configuration required.

Device fingerprinting

Online orders now support device fingerprinting via CyberSource Decision Manager advanced fraud management.

Site Access Restriction

Website access restrictions are now configured in Web Site Setup in NetSuite instead of the backend Configuration.js file.

APM data changes

Application Performance Management (formerly Real User Management / RUM) data storage has been updated. A .patch file is available for backporting APM changes to the Mont Blanc release.

What to do

  1. Install or update bundles: SuiteCommerce Advanced Vinson (134179), Site Builder Extensions Vinson (134180/134181), and the new SuiteCommerce Configuration bundle (135010).
  2. Migrate custom services to the new ServiceController pattern. Replace standalone .ss logic with a [Module].ServiceController.js that extends ServiceController.js. Ensure ns.package.json is configured so dev tools auto-generate the .ss wrapper.
  3. Migrate configuration from Configuration.js / SC.*.Configuration JavaScript objects to JSON files in each module's Configuration/ directory. Create JSON config files for any custom modules.
  4. Move site access restrictions out of Configuration.js and into Web Site Setup in NetSuite.
  5. Run the field set setup script to create the Items Searcher field set if you use Quotes.
  6. Set up Store Locator if desired: create a Customer Center role, set Elevated Permissions, configure properties, and confirm Google Maps API access.
  7. Set up Newsletter if desired: enable subscriptions, create Employee Center role, set Elevated Permissions, configure properties.
  8. Review header customizations — the header layout has changed (Store Locator link/icon added). Any custom header code may need to be reconciled.
  9. Test checkout flows end-to-end after migration, especially guest checkout (new name/email properties), PO field, and credit card save preferences.
  10. Refer to Oracle's Migrate SuiteCommerce Advanced documentation for the full code migration procedure from your current release to Vinson.