Address management

As I have been around to a couple of different companies using CRM, some of which have been implemented before I started working with them and some I have been with from the start there are some things that can be said of the address management in CRM 2011. My general recommendation being to not use it as it is but to do some minor changes to make it work for you.

To start off, I would like to go into some detail of how the address handling is actually done in CRM.

There is, as you probably have seen, a field with the default display name “Address Name”. This can be hard for normal users to understand without instructive training. What it should be used for is to specify what the name of the address or that customer is as an internal name for that address, like “Main office in Berlin”. Due to the ambiguity of the field, I have seen different ways of putting data into it, one is repeating the company name, where the notion is that it is to be the first row of the address when mailing, in essence being the “name to which the address is going”. This field is also a requirement for some logic in CRM, in particular the different address lookups you can find for instance in the Order or Contract. For an address to show up in this lookup it has to have an “Address name”. This is also the main selection data in this lookup (by default anyway), why a descriptive name is useful, for instance “Main office in Berlin” and “Postal address”.

So, why this requirement on address name, you might wonder? Well, behind the scenes this logic is a bit more complicated. When entering an address into address1 or address2 in an account or contact, it will actually sync this to a replicated instance of the customeraddress entity in the background (created when the account/contact is created, with addressnumber 1 and 2). This is the same entity that you are looking at when looking at the “More addresses” in the contextual navigation menu within account or contact. CRM then maintains sync between the data in the account/contact and the customeraddress. These two customeraddresses are, however, filtered out from the list shown in “More addresses” but you will find them if you check the SDK or the database.

Hence there is need for some good data in the field “Address Names” so that it can be used in the lookups but it is also hard to intuitivly understand what to put into this field with the current caption.

Hence my general recommendaton for this field would be to either change its caption so that it is more instructive or have some automated logic set it by default.

An interesting fact is that the no address names field have been set by in the sample data provided by Microsoft that can be installed from within CRM. So if you want to demo the address lookups, make sure to set some fitting address names first, otherwise the address lookups will be glaringly empty. Let’s hope this changes soon.

The second field that is interesting is the drop down with the default display name of “Address Type”. It contains several values indicating which type of address this is. I have not seen any built in logic that uses this data. As there is some very significant correlation between this drop-down field and the “address name” I would recommend either linking these with logic or removing the “Address Type” field from the form.

Which fields are used for the specific address is usually country dependent. For instance the field address1_line3 and address1_region is almost never used in Sweden but is more commonly used in countries like Germany or USA. I will not go into which field are to be used for the address due to this reason. My general recommendation being to keep it as simple as possible. For multi-country implementations, try finding the lowest common denominator.

An additional interesting point is the Outlook syncronization of contacts. This syncronization will use the first address and as the address in Outlook for a contact, is syncronzed to the back-end mail server (usually Exchange) and then on to the Windows Phone (or similar inferior device). From the phone, the most usable address is the visiting address, as that is usually what you are looking for when you are checking the contact in you phone. There is also a default mapping of address1 in account to address1 in contact for contacts created from the account. Based on this, I generally recommend defining address1 as the Visiting address for both account and contact as this will harmonize best with the mobile way of using this data.

As for different ways of implementing the logic, I have seen a couple of different ways.

The first version that you will encounter is the standard way of handling addresses based on the logic of the field described above. This will in general confuse the users with the two fields with correlated information without logic to tie them together, the other is what I mentioned above, that the ambiguity of the caption “Address name” makes things confusion. The fact that the address type field also exists on both addresses, especially on address one, means that contacts created from an account will with the default mapping have different address types showing up in Outlook and in the mobile devices. And I for one, do not believe that the invoice address is all that interesting to have in the mobile device. I would not recommend using it without some customizations.

There is also a problem with using the “Address Type” field as this will mean that there is no simple way of knowing which address is the postal address, the address type always has to be checked. This really complicates things when doing integrations to other systems as well, as they usually don’t work this way. It also makes analysis based on this data more complex, and in particular makes it too complex for normal users trying to do some ad-hoc reporting with charts, advanced find and excel.

Another way of using addresses that I have seen is to change the caption of address1_line1 to be “Postal Address” and then address1_line2 to be “Visiting Address”. Some of the people I have discussed this with like it because it makes life easier for them (they don’t have to enter two addresses). This means that the other fields will be shared between the two addresses like the field “address1_city”. They also argue that for most customers these are the same. However, for group of customers, usually larger, that have different visiting and postal addresses also on a city level, this makes things problematic as it is very useful to have the City also on the visiting address, for instance when navigating to the customer with a GPS, and you don’t want to be stuck at a PO-box.

This way of sharing data for different addresses with an address in CRM will also break the logic described above with the address lookups in for instance Order and Contract. The address name has to be set to “Postal Address” and there will be no way of for instance setting the delivery address of an order to the “Visiting Address”. As for the argument of it being easier, that can be solved with a couple of lines of javascript code that default the data from address1 to address2 if it is empty.

The way I like to set the address management up in CRM starts of by defining the two addresses to usually Visting address for address1 and Postal address for address2 for both account and contact.

I trim the address fields and remove the address type field.

Next I create a javascript that sets the “Address name” fields to “Visiting Address” and “Postal Address” and then disables and force submits the fields.

In some cases I also create an additional script that will copy the address from address1 to address2 if the latter is empty.

I try to make sure that the address fields in Account, Contact, Customer Address, Quote, Order, Invoice, Contract and related entities are similar.

As an extra note, for the Swedish market, we, at CRM-Konsulterna, have created a small ISV-solution available on the marketplace that does this. Please read more about it here (Swedish): http://www.crmkonsulterna.se/Pages/SvenskStandardanpassning.aspx

As there are no rights or wrongs in this subject, please feel free to leave a comment. I would encourage a discussion on the subject.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Presentation at Mircosoft Partner Day

A few days ago, I was part of the key note at the Microsoft Partner Day in Sweden. Together with Malin Dandenell at Learning Point, my colleague Rickard Norström and Atefeh Sebdani at Microsoft we demoed a realistic business scenario with all the new great technology (and some more common). The scenario was that I was a salesperson and got the oppotunity to get a business if I managed to get the proposal to the customer within 5 hours. The only problem was that I was out of office my self, only with a tablet, the tech-presale (Rickard) was at the Gran Canaria, without his computer on a vacation and my boss  (Malin) was home taking care of sick children.

We showed that this was totally doable with the use of modern tablets that are more than just large Angry-Birds-play-machines, but actually very slim and fully fletched windows computers than with the use of a blue-tooth keyboad and mouse are turned into a normal computer. I used a Samsung Windows 8 Pro and the only thing holding me back is that I really would want a Surface Pro but the release plan for that in Sweden has not been set yet (it can be ordered from France or the UK though).

Rickard used a Win2Go and and old Vista computer to quickl get his Windows 8 machine with built in Direct Access and all the modern applicatons he needed to quickly get up and running to be able to help me with the quote. The amazing thing was that the Win2Go actually booted quicker than Vista was to shut down.

We also used Lync for Video conferencing, word co-authoring and the Lync feature of letting someone control a program in your computer. Finally I presented the quote to the customer using Word Present Online.

We actually did use CRM aswell :), I started off with doing the meeting in tablet mode using the great Resco Mobile CRM client. I got a lot of great feedback from that, seems that many people don’t know about it. I had originally planned to use Dynamics CRM a bit more than that but the demo was really tight at <20 big="big" darlings="darlings" favor="favor" for="for" have="have" in="in" kill="kill" minutes="minutes" nbsp="nbsp" p="p" picture.="picture." so="so" the="the" to="to" you="you" your="your">
My overall impression is that the new stack of products from Microsoft are not only cool but can give you a real edge on the competition by shortingen the OODA-loop. So try not to be left behind!

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

SharePoint as document management storage for Dynamics CRM

SharePoint as document management storage for Dynamics CRM

As many of you know Microsoft Dynamics CRM 2011 has a built in integration with SharePoint. As a former SharePoint consultant I have reviewed it to see how it looks, not only from a CRM perspective but also from a SharePoint perspective and there are some major issues from this perspective that one needs to take into consideration. For those of you who attended my presentaton at SharePoint Exchange Forum 2012 22-23 of october this year this is more or less what I presented.

First of all, to make it work properly, you are recommended to install a special addon to SharePoint called the CRM List Webpart. This makes the document lists in SharePoint get a more CRM-y look. I found a very good blog with detailed instructions on how to install it which, at least for me, worked perfectly; http://mossdevsharepoint.blogspot.se/2011/07/integrating-crm-2011-with-sharepoint.html

When this is done, you simply go into Settings-Document Management and click on the “Settings for Document Management”-button. This will start a wizard that will let you configure the integration.

It will default which entities are to be used for the integration and you are also asked for the base site URL. This site will contain all CRM documents unless you do some manual configuring (as described below) so I generally recommend that you create an empty site. It will also create one document library per entity that you have selected in this site.

The result will look something like the following:

Document libraries created in SharePoint (left) will match the entities selected in the document management settings in CRM (right)

For now, let’s refrain from the ranting and just note that this is how it will look.

If further entities requrie document management, these can be added later by re-running the wizard.

After you have selected which entities you would like to use document management for, the wizad will show you the following query:

Folder Structure selection

This query is very important to the structure of documents in SharePoint. If you chose to use a folder structure based on an account or contact (my recommendation is generally to use Account here if this is your primary customer entity and only use contact for strict B2C).

If you choose the structure based on account, a folder structure will be created in the SharePoint Document Library as follows:


Folder structure if based on account for an account with sub-opportunities and quotes
 

Do note the folders called Opportunity and Quote that have been created. Rant below.

If, instead the structure is selected that is not based on an entity, a flatter structure will be created.


Folder structure created if not based on an entity

The folder structure is a lot flatter, but note the difficulty of trying to identify the quote folders for the opportunity “CRM Online for A Store”. As no hierarchy is used, the only way of distinguisishing sub-objects is to use descriptive names as I have done with the opportunities in this case to indicated that all your bases are belong to us.

To be total just, no object specific document folders are actually created in this step. This is something that is done the first time you open the documents tab for the object (ex. the account “A Store”).

So to give a quick review, the following can be concluded:
– Hierarchical structure is to be selected if documents are to be navigated to with SharePoint as the flat structure makes it very hard to understand which folder belongs to which place.
– When you reparent something in CRM, for instance if the opportunity was created towards the wrong company in a corporate hierachy and you reparent the opportunity. This will not trigger any changes in SharePoint which is ok if the flat structure is used but not so good if the hierarchical structure is used as the opportunity documents will be stored under the wrong account.
– The flat structure gives a clearer division of document types. For instance all Quote documents will be stored in a separate document library and all documents related directly to accounts in another.
– With the hierarchical structure, most documents will be stored in the account document library which for larger installations would incurr large amounts of documents. This will make it more diffucult to use.

You can also connect your CRM objects manually to a specific folder/document library, this enables you to create a more logical structure in SharePoin, like one site per customer, and then manually connect each of these site’s document libraries to the corresponding account in CRM. The problem with this is that you have to follow the following steps to do it (example for a customer setup)

  1. Create the account in CRM
  2. Create the customer site in SharePoint
  3. Copy the right part of the URL from the document library in SharePoint.
  4. Add a new document connecion in CRM and past the document library from (3) into the field.

This will not work in normal CRM implementations as the tasks are too complicated for normal users, and especially salespeople to do.

Another perspective that is important to remember that the security (privilages) for the document libraries are not replicated from CRM to SharePoint. SharePoint has a more traditional top-to-bottom security architecture and the security architecture of CRM is a lot more complicated and it is very complicated to try to replicate the privilages for a specific object in CRM to the corresponding folder in SharePoint. This is due to the fact that the CRM security architeture is dependent on both owner (user or team) and sharing that have been made. For instance adding or removing a person from a team would requrie you to check all ownerships and sharings for that team in order to mimic the security settings. The recommended way of handling this is to allow all people in a group to have access to all documents in SharePoint and then remove access (inheritance) for the folders that require special permissions. It requires special handling and would be very cumbersome for large organizations.

My final conclusions are hence that the use of SharePoint as a document storage tool for CRM greatly enhances the document management funtionality of Dynamics CRM but it has not been designed to enable logical use of the documents from a SharePoint perspective. The security aspect is also somethnig that will reduce the way it can be used. I would also recommend that the documents are to be accessed mainly from CRM and only in very special cases from SharePoint.

I am not aware of any third party addon that increases this functionality, if you do, please leave a comment!

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

CRM Gamified

Getting users, especially salespeople, to really use the CRM system is one of the most important parts of implementing a CRM system for an organization. There are numerous examples of CRM systems with lots of great features that just have not been used by sales people which causes the data in the CRM system to be incomplete and hence not very usable.

I am a big fan of computer games, currently Battlefield 3, and one thing many computer games excel in are that they are really good at user adoption, it is really the basis of it all. Without it, they just wouldn’t sell. There are ongoing trends in the business to “gameify” business applications to make them more fun to use and hence makes user adoption a lot better since you are makeing users really want to use the CRM-system.

One of my fellow MVP:s, Pablo Peralta, has been part of bringing forth a great new product, called CRM Gamified which brings some of the principles used in computer gaming to Microsoft Dynamics CRM. Let your sales people compete in getting point for different task in the CRM system and have dashboards showing the leaderboard. So, do have a long a deep look at this addon. It could litteraly change the way you do CRM.

http://crmgamified.com/

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Techie AW #2 in Stockholm

Techie AW #2 in Stockholm

As I mentioned earlier, we had a CRM Techie AW at an hotel in Stockholm. It is now time again, so if you are a programmer, application consultant, architect or in some other manner work with Dynamics CRM from a technical perspective, do attend.

Last time we had some very interesting discussions regarding managed and unmanaged solutions. This time we are going to discuss supported and unsupported customizations and solutions. Which is a subject that I feel is very interersting and that there are many aspects of it that can be discussed. I previously this year wrote a posting on the subject, which you can find here: http://gustafwesterlund.blogspot.se/2012/06/unsupported-customizations.html

It will be located at the same hotel as last time, in other words Hotel Anglais next to Stureplan in Central Stockholm.

Further reading (in Swedish) and attendance submission can be found here: http://bit.ly/TechieAfterWork

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se