Addresses explained

Problem

We have address fields on Account and Contact record and custom address entity available out of box. What is the difference?

Observation

Recently I came across a requirement to migrate multiple addresses in Dynamics CRM. As we are aware Account and Contact entities have separate fields to store two addresses on each one.

Common perception is that these are stored on the entity itself. Even I was under the impression that addresses on account and contact are stored at the entity level rather than address entity.

After some analysis, found that all addresses in Dynamics CRM are stored in address entity. Two sets of address fields are available Account and Contact entities for ease of access only.

Out of box address entity enables us to add multiple addresses using more addresses button on Account and Contact entities. This button can be made visible by customization. Storing addresses in address entity also enables user with ease in creating reports and conduct any API validations against addresses.

One drawback in using Address entity is you cannot create relationships other than available out of box.

Workaround

Above limitation on address entity around relationships, restricts us to use address entity with other entities like quotes, orders etc. for this purpose, a custom address entity can be created however, Address API validation or reporting needs might need to be revisited.