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

Logical Data Model for Customer & Supplier

The logical data model below shows the data structure needed to support Customer, Supplier and Employee.  Pardoxically, none of these appear as an enitity on model!

How can that be? There is a very good reason for this, which is that Supplier, Customer and Employee are all deriveable data entities and, as such, ought NEVER appear on a logical data model – to put them there would be both a major modelling and practical error. It is this error that is one of the major causes of so many data quality issues related to the concept of “Customer” around the world

Data Structure for Customer, Supplier and Employee.
From the above model we can derive Data Views for Customer, Supplier, Employee and, over an above that, Creditor and Debitor. This is because all of these are derivable roles for the true Data Entity of Party.

So How Do We Do This?

Customer Any Party to which the enterprise has sold a Product or Service.
Supplier Any Party from which the enterprsie has purchhased a Product or Service.
Employee Any Party with which the enterprise has a Contract of Employment.
Creditor Any Party to which the enterprise owes money.
Debitor Any Party which owes money to the enteprise.

There are many more roles that a party can play that are not deriveable, such as Guarantor,  Agent, etc.  It is these, and not Customer and Supplier, that should appear in logical data models.

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 “Logical Data Model for Customer & Supplier”

  1. Robert Starinsky December 20, 2011 1:27 pm #


    Your logical data model is spot on! One of the best real world examples of the eloquent, straightforward and very powerful data modeling technique you’ve illustrated here can be found at the core of J. D. Edwards (now Oracle) enterprise software systems (World and OneWorld/EnterpriseOne). It’s known as their address book module and its a data model that has proven effective for over 20 years now.



    • john January 24, 2012 2:00 am #

      Hi Bob

      Thanks for your kind words. This is an amazingly simple, yet tremendously powerful model.

      What is more amazing is that, in spite of the the fact that it is there and it is free, so few people choose to use it and, instead, hard code ‘Customer’ and ‘Supplier’ into their systems and business, together with all of the duplication and lack of data integrity that this brings.

      Once again, than you.

      Kind regards
      John Owens

Leave a Reply