This article is relevant if you need more control over the way NetSuite works over the creation and maintenance of Matrix Items.
Background
In a recent NetSuite implementation for an apparel-based design, manufacturer, and distributor of popular fashion wear, NetSuite’s matrix items did not provide sufficient control and flexibility for creating and updating parent and related child product items. Instead of compromising, our client sought to carefully model the item database to drive their operational product management. With the use of NetSuite platform technologies, we were able to craft a more flexible matrix model.
In this article, the discussion can help readers think fundamentally about product variants, NetSuite’s own matrix item manager, and contemplate alternatives to take full control over the product/item database.
Product Variant Concepts
Product variants are a common and powerful concept to allow suppliers to express different product choices based on a set of item attributes that are available across multiple dimensions. Since it is safe to assume everyone is exposed to clothing, it is an easy way to think fundamentally about the variant pattern. In this case, I will use Tee-Shirts to express the different ways that attributes/choices are offered:
Attribute | Options |
Material | Cotton, Polyester, Linen, Rayon, Lycra |
Size | Large, Medium, Small |
Neck Styles | Crew Neckline, Scoop Neckline, V Neckline |
Sleeve | Long, Short, Half, Muscle |
Gender | Mens, Womens, Unisex |
Print Symbol | Skull, Cherry, Cross, Peace Sign, Heart |
The Tee-Shirt is an excellent example of the challenge to define the product. I am sure I could come up with five more attributes. There can be so many different choices (variants) to express for the varieties of the fundamental product. The idea is that by combining the attributes together, you can identify the unique combination of elements to make a unique product identifier, commonly called an SKU (which means Stock Keeping Unit). The way we group items together and express items allows the product to be looked up and selected to find the desired option.
Product Variant Generation and Update Flexibility
NetSuite’s Matrix item types generally do a good job to allow you to create attribute lists that can be used to generate the unique combinations of items. Yet, there are times that you simply need more control over the algorithm for many reasons. Here are some reasons that our client expressed:
- Product Definition Decision Making: the NetSuite matrix item requires the user to understand how to shape the ordering of the attributes to control the generated product name. Unless you are very careful, inconsistencies are easy to produce between other related items. The database can become messy and hard to interpret.
- Parent / Child Data Elements Synchronization: the data elements at the parent may or may not be properly enforced between child items and thus information inconsistencies may arise.
- Adding New Attributes Across Existing Products: on a large database, it may be difficult to see all the products that need to be updated; if you need to start with a new attribute, you can’t simply look across the database to find all the related items that need to take on that new attribute. NetSuite wants you to begin your journey at the item and then add the attributes. Why can’t we start the attribute level instead?
Take Control over Matrix Item Generation
Once you decide you want to gain more control over NetSuite’s matrix generation, a world opens up for different approaches. In our client’s case, they had a number of attributes that are fairly static. Thus, they did not need much flexibility in those dimensions. However, they have two attributes that are frequently updated as they bring forth new patterns and designs to print on their apparel. This was a worry.
One could say they fundamentally have 100 products offered: but with all the different attributes used to uniquely describe the product, there are over 50,000 records to manage. When our client wanted to bring a new print design to market, they need a very fast method to update all products; NetSuite’s approach was too slow and cumbersome as it demanded that they go to each of the 100 items and perform an update. They needed better product management tools.
In addition, distinctions between specific product elements on the parent that trickle down to the child needed to be more carefully controlled. Thus, parent/child synchronization routines were produced to ensure consistency in the database.
Video Demonstration (8:29) of NetSuite Flexible Product Variant Manager
In order to appreciate what is possible, I have provided related screenshots (click on images) and you can watch the video presentation of the tool in action. The tool can easily be adapted to leverage in other challenging situations.
Take Control of your NetSuite Application Challenges
Frequent readers of my articles know that I am a champion for the power of the NetSuite platform. My philosophy is to address business concerns first and foremost using the tools offered by NetSuite. Yet, who would not approach attacking challenges in that manner? However, my clients have frequently shared that when others tell them something can’t be done in NetSuite, I confidently say “Yes”! I say “Yes” because mastery of the platform presents a powerful space for innovation — possessing leadership in business experience, accounting, database modeling, and computer science produces unique expertise to break through perceived barriers.
If you found this article meaningful, feel free to receive notifications of new posts. My ethics are to respect your wish to not be solicited. If you have a NetSuite matrix item challenge, let’s have a conversation.