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.
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
.ssfile. ExtendsSC.EventWrapper.jsand referencesServiceController.Validations.jsfor common request validation. - [Module].ServiceController.js — per-service controller that extends
ServiceController.jsand 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
.ssservice 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:
- Enable subscriptions in the NetSuite account.
- Create a new Employee Center role.
- Configure Elevated Permissions.
- 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, andautoPopulateNameAndEmailcontrol guest checkout identity collection and auto-fill. Set via the SuiteCommerce Configuration tool. - Save credit card preferences — Display '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
- Install or update bundles: SuiteCommerce Advanced Vinson (134179), Site Builder Extensions Vinson (134180/134181), and the new SuiteCommerce Configuration bundle (135010).
- Migrate custom services to the new
ServiceControllerpattern. Replace standalone.sslogic with a[Module].ServiceController.jsthat extendsServiceController.js. Ensurens.package.jsonis configured so dev tools auto-generate the.sswrapper. - Migrate configuration from
Configuration.js/SC.*.ConfigurationJavaScript objects to JSON files in each module'sConfiguration/directory. Create JSON config files for any custom modules. - Move site access restrictions out of
Configuration.jsand into Web Site Setup in NetSuite. - Run the field set setup script to create the Items Searcher field set if you use Quotes.
- Set up Store Locator if desired: create a Customer Center role, set Elevated Permissions, configure properties, and confirm Google Maps API access.
- Set up Newsletter if desired: enable subscriptions, create Employee Center role, set Elevated Permissions, configure properties.
- Review header customizations — the header layout has changed (Store Locator link/icon added). Any custom header code may need to be reconciled.
- Test checkout flows end-to-end after migration, especially guest checkout (new name/email properties), PO field, and credit card save preferences.
- Refer to Oracle's Migrate SuiteCommerce Advanced documentation for the full code migration procedure from your current release to Vinson.
Source: Oracle NetSuite Release Notes