Marty Zigman Marty Zigman
Prolecto Labs Accelerator Templates

Breakthrough NetSuite’s Contact to Entity Role Relationship

CRM NetSuite



This article is relevant if you seek more capacities for how NetSuite contacts are connected to other entities, such as customers and vendors.

Background

NetSuite’s Contact model in relationship to its entity model is designed to be flexible to address many different business situations. In general, when my firm is planning a NetSuite implementation, we need to have a conversation about the “Customer Master”. In a typical CRM implementation, especially one that is shaped by tools like Salesforce.com, the general way people think about this topic is as follows:

  1. Account: this is the organization that we are trying to sell to.
  2. Contact: this is the person who belongs under the Account.

Under this approach, there is a One-Account-to-Many-Contacts (1:M) as is depicted in the related image. Although there are more options with Salesforce.com, we generally start here.

NetSuite’s Contact Network Model

In the NetSuite model, the situation is not offered nearly as simple. NetSuite supports a network model. In this case, the following concepts are brought forth which differ from the simple case above:

  1. Entities: these can be customers, vendors, partners, and other types and must be “named” during transactional work. Thus, the term Account can apply but the “Entity” concept is better because it can be so many different specific like-kind things.
  2. Contacts: these are generally individuals that apply to people in how we traditionally think about it.

In the NetSuite world, a network of relationships can be represented as reflected in the related image. In this case, NetSuite not only supports the simple Account / Contact model, but it also offers a way to be able to connect to more than one entity type at once. When the contact can connect to more than one entity at once, we call this connection a linked “Role” relationship.

The network model likely better reflects the real-world situation and can be quite powerful. For example, you may find that a consultant has a relationship with multiple companies and thus is an influencer of the management team at each respective organization. NetSuite’s out-of-the-box “Contact Role” offers a role called a “Consultant”. Thus, you can quickly see if a contact is connected to multiple entities and how they are influencing those companies via the role.

The Challenges in the NetSuite Network Model

Generally, I am in favor of the network model because it does better reflect the real-world situation. However, I find that when advising companies on their NetSuite implementation, to get this right, we need to have a conversation to tease out how the business thinks about its customers. There are some conceptual challenges in the way that NetSuite offers up different ways to act with entities and contacts and I want to be careful here; depending on your business model, you have flexibility in how you use the system and it’s important to become centered in the model so you can think about the best approach.

To help illustrate, a business-to-consumer versus a business-to-business relationship model will likely work differently.  The challenges are mostly connected to the way NetSuite models customer entities giving you a choice to treat them as “companies” or “individuals”. It’s important to understand that you transact with entities (not contacts) and NetSuite’s default entity behavior is to want to help you produce communication on that entity’s email address.  But with the contact in structure, you may find that your information is getting copied or duplicated because users might be confused if they should use the customer entity or the contact to hold information. The way NetSuite acts out of the box often leads people to produce a certain setup — yet that configuration may have implications in the way your CRM customer information is portrayed.

The most common situation I see is that there is a confusion between the entity and the contact, how to act with leads, prospects, customers, and opportunities, and for whom we are communicating using the NetSuite built-in email capacities due to the challenges communicating with multiple email addresses.  Because the environment may not be curated, duplicates may emerge and it ultimately may become difficult to report and act with the data.

Solving NetSuite’s Primary NetSuite Role Relationship Challenge

While I envision a number of articles about the best practices for setting up NetSuite for CRM and business management depending on the industry, if you have used NetSuite for a while and tried to get value out of the built-in role relationship, I suspect you have experienced some of these challenges:

  1. Participation in Multiple Roles: NetSuite only allows you to connect a contact with one role per entity at a time. This most likely is not optimal. The challenge here is that roles demand an important discussion. Just what does “Primary” and “Decision Maker” mean to your organization? Can’t the contact be both the Decision Maker and the Primary Contact at the same time? I anticipate crafting another article which discusses how roles should be purposeful so they can be actionable.  Yet, out of the box, most organizations “just run with it” trying to make it work.
  2. Searching Limitation: NetSuite’s saved search does not allow you to connect the entities and contacts easily together via the contact role element. You either start your saved search from a customer (entity) or via a contact but you may find that you search attack angle does not allow you to reach the data you need.  (Note, we have solved the saved search multi-join challenge with our Content Renderer Engine)
  3. Extending the Role Relationship: A role relationship record usually has a pattern that demands that it can be expanded. For example, a common pattern is to apply time effectiveness elements and a status value or a note on the role relationship. Meaning, you can capture when a contact started and stopped holding a role. In common business-to-business sales practices, we see this pattern when a manager leaves one organization to become a new manager at another organization and you seek to follow the relationship hoping to win new business. While NetSuite’s network supports this creating a new link, you can’t tell that the relationship is no longer valid at the old company because you can’t timestamp it  — you must delete the link and this may not be desired.

An Enhanced NetSuite Contact Role Relationship Application

In my mind, using NetSuite’s platform, we can solve the Contact Role relationship challenges note above through the use of a custom cross-reference record. This is a common database pattern where you link entities and contacts with your own many-to-many (M:M) relationship (technically an associative entity).  See the related image. Here, we can tell a much better story about the relationship because we can give the role as many attributes as we need. The good news is that the platform makes this easy to set up and define. Using the Record as Parent pattern, NetSuite will expose the saved search technology to related records. Once you have the new relationship defined, you can now attack saved searches through three angles: the entity, the contact or the linked role table itself.

Yet, the point-and-click nature of the platform using this Record as Parent feature does not produce a user interface that is going to be easy for the end-users. Under the provided user interface, you will not be able to enforce rules that ensure that you do not double define the contacts to the entity. In order to make the experience work well, we worked with a client to connect the bridge pattern in a nice fashion. See the related images.

From any contact, you can quickly add, update, or delete entity role relationships. Likewise, from an entity (e.g., customer, vendor), the same easy to understand experience is presented. The application will ensure that no duplicates are produced. Because we have a custom record now representing the role, we have the full NetSuite platform available to extend the record for any attribute needed or we can connect it to other business concepts where applicable.

Get the NetSuite Extensible Contact Entity Role Application

I suspect that this article has been meaningful to the NetSuite business actor who found challenges working with the built-in NetSuite contact to entity role relationship.  In future articles, I will demonstrate that once the pattern is in place, we can solve a host of other challenges that are commonly faced by the NetSuite community.  We developed the application in a suite of tools we call “Prolecto Business Process Automation” so that it can be easy to distribute to our clients. Like all the things we do for our clients related to NetSuite, we give our algorithms and software patterns without a license charge under our standard professional services engagements.

If you found this article worthwhile, sign up to get notifications of new articles.  If you would like to solve your specific NetSuite entity to contact role relationship concern, let’s have a conversation.

Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

More Posts - Website - Twitter - Facebook - LinkedIn - YouTube

About Marty Zigman

Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

Biography • Website • X (Twitter) • Facebook • LinkedIn • YouTube

7 thoughts on “Breakthrough NetSuite’s Contact to Entity Role Relationship

  1. pavan says:

    Adding color to Netsuite suitelet’s sublist row depending upon the result

  2. Marty Zigman says:

    Hello Pavan,

    I don’t understand. Marty

  3. John F says:

    Is there no way to delete the default contact roles? I want to make the list as simple as possible for marketing and sales and the fewer choices the better. The get decision-maker and order creator mixed up so I would like to delete one. Is it possible?

  4. Marty Zigman says:

    Hi John,

    It doesn’t appear you can deactivate or modify the values of those default roles… Yet another reason to “take control” over the implementation.

    Marty

  5. Colin Bowern says:

    It looks like NetSuite’s contact roles are used in multiple places. I would expect opportunity roles follow sales terminology while project roles follow project management terminology. How are you seeing people differentiate between customer, project, and opportunity roles so the list isn’t too cluttered?

  6. Marty Zigman says:

    Hi Colin,

    That’s all about the language you want to use the business. For one client that came to use after a troublesome NetSuite projects implementation from another partner, we actually moved away from Opportunities and instead worked with a single Projects record that had status and pipeline. This saved a bunch of effort in ongoing record management. Thus, our contacts roles were then harmonized in that single act.

    Marty

  7. Nathan Smart says:

    Great write-up, explanation, & work-around solution! Thanks for sharing.

    Another example where native NetSuite’s rigidity can become frustrating and it’s sometimes easier to simply bypass and create a solution with custom record relationships & rules/scripting. NetSuite’s a powerful platform that way.

Leave a Reply

Your email address will not be published. Required fields are marked *