In NetSuite 20.1, we introduced SuiteCommerce MyAccount, a standalone version of SuiteCommerce that only offers the customer center (My Account) portion of a web store. Accordingly, as a developer, you may be interested to know what sort of capabilities are included in the product and how you can customize it.
Full Software-as-a-Service Only
Just like SuiteCommerce, SuiteCommerce MyAccount is a SaaS product. This means that:
- The application is delivered as a bundle
- The bundle code is locked and cannot be edited
- Updates are phased and automatic
Unlike SuiteCommerce, there is no unlocked ‘advanced’ version of it that enables developers to make code-level changes.
However, the code for MyAccount is very similar to the My Account functionality that appears in SC and SCA sites, so behavior should be consistent across all versions. Where there is some notable divergence, is in the concept ‘site types’. In the NetSuite application, and sometimes in the code, we make differentiations based on site type, but this should not be noticeable. MyAccount sites of are usually referred to as ‘MyAccount’ sites, but can sometimes appear as ‘standalone’ in the code.
As a developer, you should, therefore, generally treat a MyAccount site as if it were just the My Account part of a SuiteCommerce site.
Developers know that SuiteCommerce and SuiteCommerce Advanced are broken down into three applications:
- My Account
Each application is logically separated and offers different functionality.
The SuiteCommerce MyAccount product focuses almost entirely on the My Account application—the shopping and checkout applications are generally not available. This means SuiteCommerce MyAccount sites may not include functionality or features that are exclusive to the other applications.
However, it does mean that there is a parity between the features and functionalities of a My Account application in a SuiteCommerce MyAccount site and an application that runs on a SuiteCommerce or SuiteCommerce Advanced. This means that customizations written for one, should work seamlessly on the others.
Notable Features That Are Included
Firstly, before attempting to customize a SuiteCommerce MyAccount site, it is worth accounting for the functionality that is included out of the box.
At the time of writing, we include all standard My Account functionality except for wish lists. So, this includes things like:
- Order history
- Reordering previously ordered items (through a self-contained checkout process)
- Subscription management via SuiteBilling
- Viewing and paying invoices (including with ACH)
- Viewing existing quotes and approving them, converting them to sales orders
- Secure domains with automatically renewing TLS certificates
- Some components and classes in the extensibility API (where applicable)
Notable Features That Are Not Included
As mentioned above, this product focuses on the My Account application and many areas of a typical SuiteCommerce site are not included. This includes:
- No homepage (logged-out users are directed to the login page; logged-in users to the account overview)
- No self-service quote creation (all quotes must first be created by a sales rep in NetSuite)
- No item search API (item details can be retrieved via SuiteScript, however)
- No item browsing features (eg keyword search, commerce categories, or product detail pages)
- No shopping cart
- Most checkout features (users can only pay for an existing quote or invoice, or re-order previously purchased items)
- No CDN (there are no public pages except the login page)
- No custom themes (site must use the default theme, but it can be configured with the SMTs)
It is important to remember that as there are no checkout and shopping applications for MyAccount sites, components specific to those areas of a web store are not available.
Configuration Instead of Customization
As a reminder, we recommend you adopt a policy of using configuration instead of customization with SuiteCommerce—and this applies to MyAccount too!
A couple you might be interested in:
- Custom Customer Center permissions can be used to hide menu items and prevent certain customers from accessing certain features in My Account
- The Transaction List Columns subtab in the My Account tab of a site’s configuration record can be used to show additional fields for orders, quotes, returns and invoices
The avenues for approaching customizations are roughly the same as a SuiteCommerce site, for example:
- Extensions (including many built by NetSuite)
- Extensibility API (components and classes are available where appropriate)
- Configuration files
- Site management tools
As the sites are automatically updated, you should ensure any customization you add to a MyAccount site does not introduce fragility.
When it comes to customization opportunities, I think there is a case for optimism: while you may be tempted to think that there are significant limitations, I would point out all the things that are possible with the extension framework and site management tools.
Here are some things that come to mind:
- Customized look and feel for the login page
- Page types enable you to create custom templates for the login page
- If you’re unwilling to introduce a new template, don’t forget about custom content types, and the ability to add and remove child views the extensibility API!
- Simple landing pages through the site management tools
- New page routes and locations within My Account
- Again, page types lets you introduce new routes – combine this an extension that can perform CRUD operations on standard and custom records
- The MyAccountMenu component can be used to add new links and link groups in the side navigation
The beginner’s tutorial is designed to be compatible with SCMA and could be a good place to start!