Before approaching code-level customizations to your SuiteCommerce site, such as extensions or theme changes, consider, instead, whether your desired change can be achieved using non-technical means, such as configuration.
Adding code-level customizations to any site comes with an inherent cost: that code will always need to be maintained by a developer. Conversely, by using native NetSuite functionality, you are benefiting from access to our help documents and support team, as well as regular updates.
As long as you use native functionality properly, you can have a reasonable level of safety when it comes to things like:
- Long-term maintenance
- Cross-site and cross-version stability (eg when your SuiteCommerce site is migrated to a new version)
This page is going to suggest ways of making changes without having to write a line of code.
A great place to start is to consider whether the feature you want is already available as a part of the NetSuite or SuiteCommerce applications.
If you haven’t already checked, spend some time looking over our documentation including recent release notes. Often, developers try to reinvent the wheel as it were — that is, try to implement functionality that exists.
Here are some examples of functionality that developers have tried to write themselves that are included out of the box:
- Personalized catalog views lets you control what items and categories are shown to groups of customers, and includes granular controls over things such as whether to who can add items to the cart
- SuitePromotions lets you offer discounts not just to orders and items, but also directly to specific customers and customer groups
- Strikethrough pricing can be configured on item records to highlight how your prices are lower than the manufacturer’s recommended retail price
- Access controls can be put on your site so that only specific groups of people can access your site or see your items’ prices
If you can’t find what you’re looking for in the release notes or documentation, try out the SuiteCommerce Advanced Feature Compatibility Matrix as it catalogs many features available to SuiteCommerce sites.
The Configuration Record and Website Setup Record
In addition to ‘big’ core features, many smaller ones can be enabled or modified in the configuration and website setup records.
- The configuration record typically handles the ‘frontend’ configuration settings, such as how the site is presented.
- It was introduced in the Vinson release of SuiteCommerce Advanced, replacing JSON configuration files found in the site’s source code.
- This was a positive, deliberate action design choice because it moves simple predetermined configuration choices away from the realm of code and developers, to the NetSuite UI and non-technical administrators.
- The website setup record typically handles more ‘backend’ configuration settings.
- This includes enabling/disabling features, integrations between the site and NetSuite, and what data is available in API calls (eg field set data).
Accordingly, as developers, you should embrace that philosophy and look at that UI to see if there is a configuration option available that matches the change you want to do.
For example, here are some things you can change in them:
- What columns show in transaction lists in My Account, such as the order history
- Various options for quote management
- Various options for product reviews
- Fields for adding your Google Tag Manager and Google Universal Analytics IDs
- Facet configuration
And lots more. Remember, the configuration file tends to control the ‘frontend’ of the site: things like presentation and user experience.
Take a look!
As for the website setup record, this tends to handle configuration that needs to handle more ‘backend’ aspects of the site.
Extensions Built by NetSuite
Why write a customization when you can get someone else to do it for you?
Since the introduction of the commerce extension framework, we have created an ever-growing catalog of useful add-ons that can be added to a compatible site without having to write a line of code. In many cases, you may find that the customization you want is among this library and all you have to do is install and activate it!
Most of these extensions introduce new configuration options to the configuration record, making it easy for anybody to make the changes they want.
Commonly used extensions built by NetSuite include:
- SC Custom Fields — show and capture custom fields to various parts of your site (eg PDP and checkout)
- SC Blog — add blogging capabilities to your site, with page management handled through the site management tools
- SC Grid Order — present an item’s options as a grid on its PDP (great for items with two matrix dimensions but many choices)
- SC Infinite Scroll — rather than paginate a search results page, allow the user to keep scrolling and automatically add in new results
There are loads of them! So make sure you check them out beforehand.
Site Management Tools and Theme Customizer
The site management tools (SMTs) are another important avenue for making changes to your site without writing any code. They have a great many capabilities — too many to list here — but they include access to things like:
- Landing pages and static images
- Content management, including its visibility
- Custom content types (CCTs)
- Interfaces for many extensions, such as SC Blog
- Page layouts
Another crucial aspect is the theme customizer. Without having to write or change any CSS, business users can make simple changes to how their site looks and feel. If you’re tempted to make a change to a theme, first look into whether what you want to do could be achieved by using the theme customizer or creating a skin.