SuiteCommerce Advanced Mont Blanc: Quotes, SCIS Integration, Site Access Restriction, and Payment Method Changes
The Mont Blanc release of SuiteCommerce Advanced adds front-end quote creation (Estimate records), SuiteCommerce InStore integration, site-wide password protection, alternative payment gateways, and breaks the creditCardIcons configuration in SC.Configuration.js — requiring a migration to the new paymentmethods array and Payment Method record URL fields.
Bundle IDs
Three bundles ship with this release:
- SuiteCommerce Advanced MontBlanc — Bundle ID
107016 - Site Builder Extensions MontBlanc — Bundle ID
107017 - Site Builder Extensions Premium MontBlanc — Bundle ID
107018
Migration from Denali R2 is required. Patch files (Mont_Blanc_2.0_Patch_Files.zip) contain complete diffs between Denali R2 and Mont Blanc.
Node.js Support Change
Developer tools now support Node.js 4.2.6 in addition to the previous 0.12.x. Update your local dev environment accordingly.
Quotes (Estimate Records on the Web)
Users can now create Request-for-Quote submissions from the SCA storefront. Under the hood, this creates Estimate records in NetSuite. Key configuration lives in Configuration.js:
quote.days_to_expire— integer, days until a quote expires (e.g.,14).quote.purchase_ready_status_id— the Internal ID of the Customer Status (from Setup > Sales > Customer Statuses) that unlocks purchase from the quote.quote_to_salesorder_wizard.invoice_form_id— Internal ID of the transaction form used when converting quote to Sales Order.
Prerequisites:
- Install the latest SCA and Reference Product List Records bundles. Without the latter, product list items in quotes are non-persistent.
- Edit Customer Center Role permissions.
- Set up search fields for quote item lookup.
- Customize the Standard Quote form to include shipping fields.
To disable quote creation while keeping view/purchase, remove all RequestQuoteAccessPoints and RequestQuoteWizard references from distro.json.
Sales rep display logic reads the SalesRep field on the Estimate record. Fallback contact info is configured in SC.MyAccount.Configuration.js.
Limitations: No subsidiary support, no Multiple Ship To from quotes, no external gateway payments on quote purchases, no gift certificates on quotes, and no automatic email on submission (use a Workflow Action or User Event Script).
Site Access Restriction
Two new modes controlled in Configuration.js:
passwordProtectedSite: true— locks the entire site behind login. Unauthenticated visitors are redirected to a login/registration page. Sessions expire after 30 minutes of inactivity.loginToSeePrices: true— allows browsing but hides all pricing until login. Prices are replaced with a login link.
Warning: The Search API remains public. A user who knows the Search API URL and the fieldset in use can still retrieve data, including pricing. This is a known limitation Oracle calls out explicitly.
SCIS (SuiteCommerce InStore) Integration
Set isSCISIntegrationEnabled: true in Configuration.js to surface in-store transactions in My Account pages. The integration consolidates Sales Order, Cash Sale, and Invoice records into a unified purchase history, tagged as Online or In Store.
Breaking UI change: The Status column in Purchase History and Transaction History is replaced by an Origin column.
Alternative Payment Methods
Third-party payment gateways (e.g., Google Wallet) are now supported. No code customization needed, but you must install the SDN partner's SuiteApp and configure the payment method in NetSuite. Custom implementations require SuitePayments program membership.
Note: The Order Details page no longer shows shipping method, shipping address, billing info, or payment type.
Cancel Order
A Cancel Purchase button now appears on the Purchase Details page when the associated Sales Order record's Status is Pending Approval. No configuration needed — this is on by default.
Real User Monitoring (RUM)
The new Sensors@1.0.0 module loads automatically when RUM is enabled, collecting front-end performance metrics into a NetSuite backend database. Analysis tools are deferred to a future APM SuiteApp release.
Google Tag Manager
A new GTM module replaces the need for inline tracking scripts. A GTM Container Generator outputs a JSON file you import into your GTM account. This is vendor-neutral and supports Google Analytics, AdWords, Bing, and third-party tags.
Breaking Change: Payment Method Logo URLs
The creditCardIcons object in SC.Configuration.js is removed. It is replaced by a paymentmethods array that references Payment Method records by their Payment Method ID.
Previous approach — hardcoded image paths in JS:
creditCardIcons: {
'VISA': 'img/visa.png',
'Master Card': 'img/master.png',
...
}New approach — each entry in the paymentmethods array uses a key (Payment Method ID) and a regex for card number matching. Logo URLs must now be entered directly on the Payment Visuals subtab of each Payment Method record in NetSuite. Upload the images to your File Cabinet and set the URL field to paths like img/visa.png, img/master.png, etc.
Bug Fixes
CSV-Imported Product Reviews Not Displaying
The beforeSubmit User Event in NS_PR_SS_User_Event.js (Reference Product Review Records bundle) was changed. Previously it called nlapiGetUser() to set the review writer; now it reads the writer from custrecord_ns_prr_writer on the record itself, and the backend (ProductReviews.Model.js in ProductReviews@2.1.0/SuiteScript) sets that field using session.isLoggedIn2() and nlapiGetUser(). This fixes reviews imported via CSV that had no session context.
Rejected Reviews Still Showing Star Ratings
The getRating function in NS_PR_SS_User_Event.js now handles NaN from parseFloat when calculating average ratings, defaulting to 0 instead of displaying a broken value.
Facet Priority Ignored with URL Component as FacetID
In Facets.FacetedNavigation.View.js, the sort comparator for Facets.FacetedNavigationItems was updated to use b.url || b.id instead of just b.id when looking up facet config priority. This fixes facet display ordering when URL components are used as facet identifiers.
New Modules
cartItems@1.0.0promocodeForm@1.0.0quickAdd@1.0.0QuoteToSalesOrder@1.0.0QuoteToSalesOrderWizard@1.0.0QuoteToSalesOrderValidator@1.0.0RequestQuoteAccessPoints@1.0.0RequestQuoteWizard@1.0.0Sensors@1.0.0Transaction@1.0.0
What to Do
- Update Node.js to 4.2.6 in your dev environment.
- Migrate
SC.Configuration.js: Remove thecreditCardIconsobject and adopt thepaymentmethodsarray. Update each Payment Method record's Payment Visuals subtab with the correct logo URL. Upload logo images to your File Cabinet if not already present. - Quotes setup (if desired): Install Reference Product List Records bundle, update Customer Center Role permissions, customize the Standard Quote form, and set
purchase_ready_status_id,days_to_expire, andinvoice_form_idinConfiguration.js. - Site Access Restriction (if desired): Set
passwordProtectedSiteorloginToSeePricesinConfiguration.js. Be aware the Search API remains publicly accessible. - SCIS Integration (if applicable): Install both SCIS and SCA bundles, set
isSCISIntegrationEnabled: true. Note the Status → Origin column swap in purchase/transaction history. - Update the Reference Product Review Records bundle to get the CSV import and rejected-review star rating fixes.
- Review
distro.jsonfor new module entries and verify your customizations against thediff-denaliR2-montblanc-distro.patchfile.
Source: Oracle NetSuite Release Notes