SuiteCommerce Advanced Elbrus: PDP Architecture Overhaul, Custom Fields API, and Composite Views
The Elbrus release of SuiteCommerce Advanced restructures the Product Details Page into new modules (Product, Item, ProductDetails, ProductLine), makes all Backbone.Views composite by default, exposes custom fields through the Commerce API, and adds Store Pickup, Quick Order, Quantity Pricing, and SuitePromotions features.
What changed
The Elbrus release of SuiteCommerce Advanced (Bundle ID 165410) requires a NetSuite 2017.1 account. This is a major architectural release that restructures core front-end modules and introduces several new commerce features.
PDP Architecture Overhaul
The Product Details Page has been refactored into a form-based architecture. Several modules were removed and replaced:
- ItemDetails → replaced by new modules:
Product,Item,ProductDetails,ProductLine - ItemOptionsHelper → replaced by
Product - ItemsKeyMapping → logic moved to
Itemmodule asItem.KeyMapping.js - ItemViews → replaced by
Transaction.Line.Views
Item option templates are now split: one template for the PDP and a separate one for search result (Facets) views. The PDP now behaves as a form with automatic validation logic consistent with other SCA forms.
All Backbone.Views Are Now Composite Views
Every Backbone.View is now a Backbone.CompositeView by default. Views no longer need to declare themselves as composite using require(). A CompositeView.add() no-op method is included for backward compatibility with pre-Elbrus custom code. Any module that previously extended Backbone.View and manually opted into composite behavior should be reviewed—the require() call is now unnecessary.
Custom Field Support via Commerce API
Custom fields are now accessible through the Commerce API, Items API, and SuiteScript. Supported record types:
- Custom Item Fields – renders on PDP, Checkout, My Account
- Custom Transaction Body Fields – renders on Checkout, My Account (includes field metadata such as label)
- Custom Transaction Column Fields – renders on PDP, Cart, Checkout, My Account
- Custom Transaction Item Options – renders on PDP, Cart, Checkout, My Account
Setup requires NetSuite field configuration, SuiteCommerce Configuration record updates, and Handlebars template customization.
New Commerce Features
- Store Pickup – New fulfillment option. Enable via
checkoutApp.isPickupInStoreEnabledand set the custom form ID withcheckoutApp.pickupInStoreSalesOrderCustomFormIdin the SuiteCommerce Configuration record. Requires configuring retail locations, inventory eligibility, pickup hours, and stock buffer. - Quantity Pricing – Uses the Search API to return item quantity pricing in JSON. Enabled via the Elbrus bundle but requires NetSuite configuration. Can be disabled via
distro.json. Not available with SiteBuilder Extensions. - Quick Order – Lets shoppers add items by SKU or part number. Enabled by default. Requires Search Fields setup in NetSuite. Can be disabled via
distro.json. Not available with SiteBuilder Extensions. - SuitePromotions – Multiple promo codes per order. Configured via
promocodes.allowMultiples. Supports item, order, and shipping promotions with stackability rules.
Facets as URL Parameters
Faceted navigation can now render facets as URL query parameters instead of path segments. Controlled by facetsAsUrlParameters (global) and facets.isParameter (per-facet) in the SuiteCommerce Configuration record under Shopping Catalog > Facets.
Single Secure Domain (HTTPS)
Shopping and Checkout can now run on a single HTTPS domain, eliminating the cross-domain redirect during checkout. Requires NetSuite 2017.1. Patch files are available for backporting to Denali, Mont Blanc, and Vinson releases.
Other Changes
- IE8 dropped – No longer tested or supported. Sites will not crash but may exhibit unexpected behavior on IE8.
- Mastercard 2-Series BIN – Updated regex in
PaymentMethods.json(paymentmethods.regex). - Handlebars helpers –
breaklinesandifEqualsadded in theHandlebarsExtrasmodule. - Multi-Image Options – Multiple item option IDs can now trigger PDP image changes. Configured via
productline.multiImageOption. - Script Debugger – When running the Field Set Setup script, you must now explicitly select API Version 1.0 in the SuiteScript debugger.
- Custom Fields config subtab – New
customFields.salesorderproperty under Advanced > Custom Fields in the SuiteCommerce Configuration record.
Bundles
- SuiteCommerce Advanced Elbrus: 165410
- Site Builder Extensions Elbrus: 165411
- Site Builder Extensions Premium Elbrus: 165412
- SuiteCommerce Configuration: 135010
- Reference Product Lists Records: 53051 (required even if Product Lists are unused—without it, navigating to the cart throws:
The record type [CUSTOMRECORD_NS_PL_PRODUCTLIST] is invalid)
What to do
- Verify your account is on NetSuite 2017.1 before installing the Elbrus bundle. Features have hard dependencies on this release.
- Install bundle 53051 (Reference Product Lists Records) regardless of whether you use Product Lists, to avoid cart errors.
- Audit custom PDP code. Any extensions that reference
ItemDetails,ItemOptionsHelper,ItemsKeyMapping, orItemViewsmodules must be migrated to the newProduct,Item,ProductDetails,ProductLine, andTransaction.Line.Viewsmodules. Updaterequire()paths and model references accordingly. - Remove composite view declarations. Any custom code calling
require()to declare composite views is now unnecessary. The no-op shim prevents errors, but dead code should be cleaned up. - Update item key mappings. If you extended
ItemsKeyMapping, migrate your custom mappings toItem.KeyMapping.jsinside theItemmodule. - Review item option templates. SCA now uses separate templates for PDP and Facets. If you customized option rendering, ensure both template paths are addressed.
- Configure new features (Store Pickup, Quantity Pricing, Quick Order, SuitePromotions) in the SuiteCommerce Configuration record if needed, or disable them in
distro.json. - Set the Script Debugger to API Version 1.0 when running the Field Set Setup script.
- Test payment flows if you have custom Mastercard BIN validation logic—the default regex in
PaymentMethods.jsonhas changed for 2-Series ranges. - Plan HTTPS migration. If you intend to use a single secure domain, configure it per the domain setup documentation. Backport patches are available for Denali, Mont Blanc, and Vinson.
Source: Oracle NetSuite Release Notes