In NetSuite 20.1, we introduced SuiteCommerce MyAccount, a standalone version of SuiteCommerce that only offers the customer center 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 code is delivered as a bundle
- The bundle is locked and cannot be edited
- Updates are phased and automatic
There is no ‘advanced’ version of it.
As part of the work preparing for launching this product, we introduced a concept of ‘site type’ into the NetSuite application. Accordingly, sites of this kind are referred to as ‘MyAccount’ sites, and sometimes as ‘standalone’ in the code.
In general, therefore, you should generally treat a MyAccount site as if it were a SuiteCommerce site (just with a subset of functionality of a typical 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 not included in their entirety. 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 wishlists and reorder items. So, this includes things like:
- Order history
- Subscription management via SuiteBilling
- Invoicing and paying invoices
- Quotes and converting quotes to sales orders
Plus, as they have been frequently asked about, we are happy to say that custom domains are supported, as are secure domains and automatic renewal of security certificates provided via the NetSuite application.
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 item browsing features (eg keyword search, commerce categories, or product detail pages)
- No shopping cart
- No item search API (item details can be retrieved via SuiteScript, however)
- No checkout features (except paying for an existing quote, or paying an existing invoice)
- No CDN (there are no public pages except the login page; pages may be cached by the application)
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