Warning: Creating default object from empty value in /home/johnnz/public_html/wp-content/themes/simplicity/functions/admin-hooks.php on line 160

Customer & Supplier are Roles – But What Type?

In two of my previous posts ‘There’s No Such Thing as Customer‘ and ‘Logical Data Model for Customer and Supplier‘, I showed that, if you have data entities on your Logical Data Model called ‘Customer’ and ‘Supplier’, then you are in trouble both in terms of Master Data Management and  Data Quality.

The data models in both these posts showed that Customer and Supplier are definitely NOT master data entities, rather they are Roles that the entity Third Party can play in its  relationship with the enterprise.

Derivable or Declarative?

In order to find ‘Customers’ you simply had to list all Third Parties to whom the enterprise had sold a Product or a Service.  To find ‘Suppliers’ you listed all Third Parties from whom the enterprise had purchased a Product or a Service.

Using the data structure in these models meant that the Roles of ‘Customer’ and ‘Supplier’ were derivable from the data within the enterprise and, as such, should not appear as entities on the Corporate Data Model.

However, it may be the case that the enterprise might want to know Third Parties to whom it would be willing to sell products and services and, just a importantly, to whom it would not be willing to do so.  Likewise with purchasing items from Third Parties.  As no sale or purchase has yet been made, it is not possible to derive these Roles of ‘candidate’ Customer or ‘candidate’ Supplier from the data.  They have to be ‘declared’ in some way, making them declarative Roles.

Declarative roles for Customer, Supplier, etc...

Each Allowable Role can be assigned to a Third Party by creating an occurrence of Assigned Role with an appropriate Start Date. Entering an End Date de-assigns the Role but leaves a record of the fact that it at one time existed.

Adding More Detail

If you have roles that require more detail to be known and held, then you can add sub-types to Assigned Role and extra attributes to the each sub-type, as required.  If necessary you can even add extra entities to link more detailed information to the sub-type.

Contract of Employment as a Role

The example above shows where a new entity has been added to allow all of the detail for a Contract of Employment to be linked to a Third Party.

If you liked this post and think that it could be of value to a colleague or friend please share it by clicking on one of the social media links below.


2 Responses to “Customer & Supplier are Roles – But What Type?”

  1. homis January 29, 2012 6:24 pm #


    I fully agree with you regarding the Party entity but let me ask you a question.

    What benefits Party entity has for enterprise instead of having separate Customer, Supplier and Employee entities?

    • John Owens January 30, 2012 7:39 am #

      Hi Homis

      Having Customer, Supplier and Employee split creates a lot of problems in that it results in a lot of duplication about legal entities, be they individuals or corporations, with whom the enterprise has entered into commercial and, therefore legal, agreements.

      Any duplication or confusion regarding the principals in these agreements puts the business at both legal and financial risk.

      All of this separation happened as an historical accident due to poor analysis and technology. There is no reason why it should continue to exist and very many compelling reasons why it should cease, and cease now!

Leave a Reply