Before we get into explaining how to customize entities in Microsoft CRM 3.0, we want to remind you why you'll need to customize your system. Let's assume your company is considering implementing Microsoft CRM and you've installed the trial version of the software. As soon as you show the company owners or executives the user interface and they look at one of the default forms (like the Account form shown in Figure 4-1), the first words out of their mouth will be something like "That's not the information we track about our customers. We would never use the Shipping Method and Freight Terms fields. And where do we enter the SIC Code and the number of employees each customer has? Also, we don't call customers Accounts; we refer to them as Companies."
Figure 4-1: Default Account form
Ah-ha! It took only one meeting before users started demanding customizations to the Microsoft CRM system to better match your business's needs. However, within just a few minutes (literally) and without a single line of programming code, you could customize Microsoft CRM so that your new form looks like Figure 4-2.
Figure 4-2: Account form revised and renamed as Company
Implementing this type of customization in other CRM vendors' applications might take weeks of coding and testing. It might not even be possible to change some of the key system terminology, such as renaming Account to Company. The Microsoft CRM customization model will make these and other types of customizations seem almost trivial to you.
As we said earlier, Microsoft CRM offers an incredible number of system customization opportunities, and—without any programming expertise—you can complete most of them through a Web-based interface. In fact, Microsoft CRM offers so many customization features that we have to break the entity customization explanation into three separate chapters:
Concepts and Attributes
Forms and Views
Relationships, Custom Entities, and Site Map
In this chapter, we give you an overview of the concepts related to entity customization, and then we start the entity customization explanation with entity attributes.