Quantcast
Channel: Neil Parkhurst's Groups Activities
Viewing all 1692 articles
Browse latest View live

MB2-717 Certification: (Microsoft Dynamics for Sales) – Currencies

$
0
0

As I prepare for my Dynamics 365 certification in sales (MB2-717), I am creating blog posts based on my revision. I hope that collectively these posts may prove useful to anyone also preparing for the MB2-717 exam. This time I will cover the concepts around currencies.

Occasionally the customers I work with operate in just one currency. But it is becoming more and more common for even the smallest companies to trade across wide geographical areas. For example, via the internet it is increasingly easy to promote products in many countries. Sometimes you can “get away” with only selling your products in just Dollars or Pounds. But more often than not you’ll need to produce quotes, price lists and orders in multiple currencies. Microsoft Dynamics 365 has the capability to handle these multicurrency scenarios.

Within Microsoft Dynamics 365 you can maintain the various currencies you require in the currencies option in business management under settings. (See below.)


Currency Setup

Within the currencies option you can configure additional currencies and their exchange rates as required. Now before we review these options lets discuss the concept of the base currency.

Whenever you first create a new Dynamics 365 organization you must define your default (base) currency. The base currency applies to all momentary values across the whole system. For every currency stored two values are always available the base currency value and the corresponding “local” currencies value. Often you will find these values will contain the same information but they will start to differ when alternatives currencies are created. (We’ll look at this in more detail a little later.)

The base currency always has an exchange rate of 1. Meaning all other currency values are derived from this base. The base currency cannot be deleted and cannot be changed. (Although you can revise some details such as precision, display name and symbol.


Now we understand the base currency we can add others. Let’s imagine I trade in US Dollars and Euros in addition to my base currency of Pounds Sterling.

Currently you get €1.24 (Euro) to £1 (Pound). And $1.41 (US Dollar) per £1 (Pound.) — Or you do in my example!

The configuration details for both euro and US Dollar are actually held within Microsoft Dynamics as preconfigured system currencies. When you create these you’ll simply need to enter the exchange rate you want to use.

As you add a new currency you are prompted to select system or custom currency. (I’ll cover a custom currency in a second!) For now I am going to select a system currency.


Now because I’m using a system currency I can select my currency code from one of hundreds of preconfigured currencies.


Very occasionally you might find you want to define a currency doesn’t exist. Let’s say a new currency is created (maybe something like Bitcoin) and you want to add it. Then you use the custom option, when you use a custom currency you will need to enter the currency code, name, precision and symbol. In addition to the exchange rate.


Notice that the exchange rate to your base currency can include up to 10 decimals. The maximum precision on a currency is 4 decimals places.

As a slight aside, I haven’t worked on a real project using Bitcoin, yet!! But I believe that bitcoin is a currency that could be expressed as up to 8 decimal places. (In Dynamics 365 we have a maximum precision of 4.) One day knowing the currency precision allows a maximum of 4 digits might be useful knowledge!

Having created the three “local” currencies plus my base currency …. my currency list looks like this;


Note: It is important to keep in mind that exchange rate changes are managed manually. If the exchange rate fluctuates you will need to change it here under the currency settings. (I will expand on the impact of exchange rate changes later in this post.)

Using Multiple Currencies

Firstly, it is important to be aware that each user can set their own default currency. Below you can see that I have opened my user settings and changed my default currency to Bitcoin.


Having changed my default currency to Bitcoin any new records I create using a currency may default to Bitcoin. It is important to understand the implications / meaning of this. Existing opportunities aren’t going to suddenly change to be Bitcoin, they will remain in whatever currency has already been set.

If I create a new opportunity from an account that has “USD” set as its currency then the opportunity would be in USD. (Say by pressing + on a sub grid of opportunities on the account.)

But if I create a new opportunity directly from an opportunity view no account will be selected yet. So the currency would be for my default. (Which is now Bitcoin.) Whilst my opportunity has defaulted to Bitcoin if I try to apply a price list already configured to work in say pound sterling the system will give me a warning message.


On accounts, leads, contacts, products, price lists and discount lists you can define a default currency field. Once you have set a different default currency on an lead/contact/account then any new transactional record created for them will default to that currency. (Not forgetting that you will then also have to select an appropriate price list with a matching currency.)

Note: The default currency from say account will only be applied to opportunities (etc) created directly from the account form. If you open a new opportunity and then manually add the account the opportunity will default to the currency assigned to the current user.

Money Values Explained

Whenever a developer adds a field to hold a money value multiple fields will be automatically created! Meaning we always have three fields connected with each money value. Firstly a currency lookup will get created (if one doesn’t already exist). Then two value fields will be created. The first value field will hold the actual currency value, the second will hold the base currency value.

To try to demonstrate this I quickly created a custom entity containing a money value. (The following logic applies to all money fields on all entities.)

Below you can see my entity. As a developer I just created a field called “A Money Value”. Three fields were created by doing this. As a demonstration I added them all of them to my form.


Field NameExplanation
CurrencyCurrency is a lookup to whatever currency is required.

It will have defaulted to the currency set as the user’s default but that can be changed as required.

Note: When no user default exists my organization’s base currency will be used. (It is not possible to save a record with a blank currency lookup, try it you’ll get an error!)

A Money Value“A Money Value”, this is simply the name for a field I created as a currency field.

Notice that this field is editable, so the user will enter the currency value into this field. Also notice that the correct currency symbol and precision is used for the currency selected.

A Money Value (Base)
Automatically another field was created for me called “A Money Value (Base)”. Importantly notice that this is a read-only field.

Whenever a record is saved the value entered in the “A Money Value” will have an exchange rate applied to show the money value in terms of a base value. (The exchange rate will have come from the currency selected in the currency lookup.)

Commonly this base value will not be shown on forms. So users might not be aware of it but knowing it exists can be very important!

Say they want to show a total money value of all opportunities in the sales pipeline. The opportunities could be in multiple different currencies, so to get a meaningful total it is normally this base value we use in reports.

You can see below that I have added a number of records to my demo entity. The money value column includes the values the users will have entered. Whilst the base currency value has been calculated in terms of pound sterling. (As pounds are my base currency.)


Exchange Rate Changes

Let’s quickly consider the impact of exchange rate changes. What if the Pound to US Dollar rate changes from 1.41 to 1.8? (Not actual exchange rates!!!)

Well firstly I’d return to my currency settings and change the exchange rate. But what does that do?

  • Changing the exchange rate does not impact existing financial records.
  • New opportunities (etc) will have a base amount calculated using the revised rate.

To demonstrate this I have created two records. One before my exchange rate change and one after. They have the same dollar value but the base currency value differs.


The above actually demonstrates a potential challenge of multi-currency! Because if the exchange rate fluctuates you may need to consider manually amend any active opportunities to reflect the required price revisions.

Hopefully this post has given you a good understand of the basics of using multiple currencies in Dynamics 365 and helped in your preparation for the MB2-717 exam.


MB2-717 Certification: (Microsoft Dynamics for Sales) – Goals

$
0
0

As I prepare for my Dynamics 365 certification in sales (MB2-717), I am creating blog posts based on my revision. I hope that collectively these posts may prove useful to anyone also preparing for the MB2-717 exam. In this post I will explain goals.

The skills measured statement for “Improve Sales Performance” is shown below, from this you can see that we’ll need to know how to identify the components that make up a goal and define them.

A goal is simply a target that you wish to measure performance against. Thinking specifically about the sales, example goals might include the value of won opportunities per quarter or the number of qualified leads per week. Goals can be defined for each person and rolled into a larger parent goal, using a concept of parent and child goals.

When monitoring goals, we look at in progress and actual values. In terms of sales, in progress might be defined as the value of open opportunities whilst the actual target might reflect the value of won opportunities.

A goal is made of several parts (or components);

  • Goal metric, a numeric value you wish to measure from a specific record type. Some metrics come predefined but others can be added as required. (Revenue for example is a preconfigured goal metric type.)
  • Goal target and Goal Period, a target is the value for a specific goal metric to be achieved in a defined period. Actual and in progress values are calculated and compared against the goal target.
  • Goal owner, each goal is owned by an individual or team.
  • Parent Goals, these are used to arrogate child goals into one larger goal.
  • Rollup Queries, are used to define how actual and in progress amounts are rolled up against the goal.

Goals can be created and maintained from either the Sales or Service areas of Dynamics 365. This is because goals connected with service can be just as important as those connected with sales. Actually goals can be related to any system or custom entity.


Goal Metric – Allows a user to define how a goal is measured. For example: counting the number of opportunities, totaling revenue etc. Dynamics 365 comes with a number of out of the box goal metrics but you can also define others. Rollup fields form part of the goal metric, these contain the calculated fields that are used to derive the actual and in-progress values. When defining the in-progress and actual fields, the user not only says how the field will be calculated but also decides on which date the field will apply. For example: in-progress opportunities might get counted based on their estimated close date but actual revenue will get counted based on date the opportunity was won.


Notice that in the goal metric we have a field that allows us to enable to stretch target. This is an optional concept. Maybe you have a target win £100,000 per month. But at a stretch you might be able to achieve £120,000. The stretch target logic would allow me to define both of these targets and monitor progress towards them within one goal.

Goal Target– The target is simply what you’re shooting for. For example: To win £100,000 worth of opportunities in a quarter. A goal target is typically measured against actual and in-progress values. The actual target might be to sell £100k between Jan and March, the in-progress figure would reflect the value of opportunities likely to close between Jan and March. All goals must have a target value and a time period.


Goal Owner– Every goal is tied to a user or team that owns the goal.

Parent Goals– A parent goal is used to group goals. A manager might (for example) have twenty direct reports. Each of these people would have a goal that they own. But all are grouped under the parent goal to see how the group collectively performs. Meaning the parent role becomes an aggregated version of the child goals.

Goal Period– All goals are time bound, whenever a goal is created you need to identify the time period it will “run” for. E.g. Week, month, year or a fiscal period. Fiscal periods, each goal can be linked to a fiscal period. If a fiscal period is selected you must select the year, linking the goal to a specific period in time. Fiscal periods might refer to a year that starts on a different basis, for example for many companies their fiscal year runs April to March. So period 1 is April. (Rather than January!) Alternatively, a custom period can be entered, for this the user must enter a specific start and end date.

Each Goal will have goal criteria, defined on the goal form;


Roll Up Only from Child Goals– This option may often be used on a parent goal when you want the goal to simply be an aggregate from all of the child goals. For example: Each sales person might have an individual goal. The parent goal may then simply be a sum of all the sales people that work in a given territory / team.

Record set for Rollup– Typically each goal will represent cases, sales, etc. that apply to an individual (or team) that owns the records. However, this option can be used to create an organization wide goal.

Rollup Queries– In some situations you’ll need to fine tune the data sets. For example: To only count opportunities with a high probability of conversion in my in progress target.. In these circumstance rollup queries are used to articulate the records to be counted. You can define and add rollup queries for in-progress and actual targets. A rollup query is essentially an advanced find used to further filter the data. It is important to notice that the entity type MUST be the same as the entity selected for the goal.


Calculating / Recalculating Goals

Goals will be automatically recalculated periodically but users with correct permissions can also select the “Recalculate” button to force a calculation on demand. Sometimes useful when a new goal is first created as actual values will not be updated when the goal is first saved. (Unless you do a recalculate.)

Once the calculation has run automatically or by selecting the Recalculate button the actuals (and in-progress values) can be seen on the goal form.


Below you can see that the administrator can decide the frequency to roll-up (recalculate) goals. And for how long after the end date has been reached to continue this roll-up. (You probably don’t want to roll-up a goal indefinitely but you might want to continue recalculating for a defined period to allow for any late revisions.)


Goal Charts

When viewing charts, you have a number of charts to represent goals.

Including;

  • Percentage Achieved
  • Goal Progress (Counts)
  • Goal Progress (Money)
  • Today’s Target Vs. Actuals (Count)
  • Today’s Target Vs. Actuals (Money)

The “today’s target chart” derives a target based on where you should be at relative to your goal. In my example, I have a target of 100 by end of March but as I am at the end of Feb today’s target chart shows a lower value of 65.


Notice that on a goal progress chart there are four pieces of information represented;

  • The ultimate target
  • Today’s target
  • The in-progress total
  • The actual amount achieved


I hope you got all of that! Goals have quite a few concepts to remember. It is worth making sure you have some hands-on experience with these. I suggest creating several combinations, including examples that use child / parent goals.

I hope you’ve found this post useful for your preparation for MB2-717.
J

Opening a Quick Create form using JavaScript

$
0
0

Hello and thank you in advance....

I have some buttons in the ribbon and I want the quick Create Form to open when a user click on the button. 

I have already created the quick create form, so the form isn't created when you click the button.

I tried this two codes but it's not opening the form:

1. 

CustomQuickCreate.ShowQuickCreateForm("Account", "New Quick Create Form", function () { alert('Callback..!'); });

2. var destEntityToOpen = Xrm.Utility.openQuickCreate("Account","New Quick Create Form");

What is the point of the new Due field on phone call?

$
0
0

In CRM Online and CRM 2016 on prem, there now is a Due field on the phone call entity in the Activity Pane. What is the point of this field? As soon as I save the phone call it is saved as completed. It never shows up on My Activities list.

I would have thought the idea was to create an active phone call.

Is the field there so you can build a workflow that sets the phone call to active?

Not very user friendly.

Does anyone have a Connect issue on this, that can be upvoted?

USD 3.3 Released

$
0
0

Massive news for Unified Service Desk fans, USD v3.3 has just been released. Could this the best USD release yet????

You can download this new release here. And you can read All about it here.

This “might” not be the best USD release but I am extremely excited about this release. Why??? Well, it contains some really cool new features.

So what are the cool new features?

Unified Client Interface (Preview)

The Unified Client interface (UCI) is the future for all our Dynamics 365 access. It won’t matter if we are using “CRM” from the web, mobile or even now USD, in every form factor the user will get a consistent modern experience. This release of USD now excitingly supports UCI. You can see one example of what it might look like below. (This is a screen shot from my USD configuration that I have already started to convert to this new style of interface.)

I will certainly blog about the details of how I implemented this change very soon!

Best Practice Analyzer

We can now use the best practice analyser to get “tips” on potential problems and how they may be corrected. Why is this good? …. In pretty much every project I have worked on challenges have existed with system configuration, internet explorer options etc etc. The best practice analyser is going to help us identify potential problems and therefore correct them. I am confident this is going to be a really useful feature as I can think of several examples in the past when this feature would have helped me find problems.

How can I be so certain the best practice analyser will be useful? ….. the answer is simple I just ran it on my environment that I believed ran pretty well. And it immidieately told me about several issues. I need time to investigate these issues and I will blog soon on how I achieved that.

The best practice analyzer does more then just report errors! See below how I can drill into the error and get mitigation steps telling me how to resolve each issue. See below how it is telling me what IE settings need to be adjusted.


And there’s more …. USD additionally continues to get reliability and performance enhancements. Don’t underestimate these as with every release the product gets better and better!

I am going to really enjoy exploring these new features and I promise I will blog more details as I learn more. Enjoy USD Fans!

One more thing….I am currently in Dublin at Summit EMEA. If you are in Dublin, Watch out for my presentation on Thursday morning when I will show these new features in action!

MB2-717 Certification: (Microsoft Dynamics for Sales) – Charts

$
0
0

As I prepare for my Dynamics 365 certification in sales (MB2-717), I am creating blog posts based on my revision. I hope that collectively these posts may prove useful to anyone also preparing for the MB2-717 exam. In this post I will focus on charts.

From a sales point of view, charts are essential to help us monitor sales performance. They can be displayed on forms, views and dashboards within Dynamics 365. Therefore when taking you exam you will need to understand charts and dashboards, I will cover dashboards in a future post.

There are two types of charts. Personal and system.

Personal charts

  • Can be created by any user. (With correct security privileges.)
  • Are initially only visible to the user who created them.
  • Personal charts can be shared with other users or teams.
  • Can be included in personal dashboards. (not system dashboards.)

System charts

  • Visible to all users.
  • Out of the box Dynamics 365 contains several examples of system charts.
  • Developers, with customizer or systems administrator roles, can create new system charts.
  • Can be included in solutions.
  • Can be included in personal and system dashboards.

Below you can see that the ability to maintain user charts is controls by a security role setting.

Charts

Multiple chart types exist in Microsoft Dynamics CRM, via the chart designer interface users can create the following types of chart;

  • Bar– Shows data in horizontal columns.
  • Column– Shows data in vertical columns.
  • Pie– shows data as slices of a pie. Useful for show numerical proportions of data. (Such as % sales by sales territory)
  • Funnel– Shows values as progressively decreasing proportions amounting to 100 percent in total. (Often used to represent a sales pipeline.)
  • Area– used to show cumulative totals over time.
  • Line– Shows individual points on the chart joined by a line, useful when looking for trends over time.

The chart below shows a typical example of a sales pipeline shown in a funnel chart.


Tip: As shown below you can click on segment of a chart, that you have the ability to further filter on any field. Clicking the blue arrow will drill into the chart can represent the data in any one of the five chart types available in the filter. (Bar, Column, Funnel, Line and Pie.)

It is also possible to export the XML of the chart, edit it and re-import. This process allows other chart types to be created, including;

  • Doughnut
  • Candlestick
  • Radar
  • Bubble
  • And many more

Tip:
In addition to changing the chart type in the XML other parameters such as colour, labels and drawing style can be customized.

Note: with system charts we can create two more chart types! Tag and doughnut. These chart types apply to entities which are enabled for use in the interactive service hub (ISH) and show in the ISH multi-stream dashboards. You can see these highlighted in the screen shot below.


Note: The customization of charts using XML is beyond the scope of the MB2-717 exam. But knowing they can be exported, changed and then re-imported as either a personal chart or a system chart maybe important.

Charts can be single series or multi-series. A multi-series chart can represent data using two chart types, one laid over the other. For example, a column and line in a single chart. Below you can see a sample chart showing the number of opportunities created each month as a count, then their estimated revenue is shown as a line on the same chart. Column, area and line charts can all be combined in multi-series charts. This is not possible on some chart types such as funnel and pie. Also bar charts can only be associated with other bar charts.


Another variation of a multi-series chart is a stacked chart, these apply to column and bar charts. Stacked charts are useful when comparing data. Charts can be shown as standard stacked charts or 100% stacked charts. The difference being that the stacked chart shows the actual values whilst the 100% stacked chart represents the data in terms of a proportion. The chart below is an example of a 100% stacked chart. The chart tells me that 100% of the opportunities created in May have only a 10% probability. It doesn’t compare the number of opportunities in May with other months just their probability!

When plotting charts, it is possible to limit the data returned using options to show top “n” or bottom “n” rows. For example, the chart below shows my top 5 opportunities by estimated revenue.

Personal charts are created in the chart designer. (As shown below) Options within the chart designer allow us to select the chart type, limit the rows included, stack the chart, add a series etc.

Once the personal chart is saved we can use the “…” menu to edit the chart, share it with other users / teams. It is also here that we can import and export charts.

The share option can be used to share personal charts with user or teams. It is also possible to govern the access level each person is given. You could opt to only allow them to read the chart. Or you can add in write, delete, assign and share privileges as required. Keep in mind that when you share a chart only the chart is shared not the underlying data. Meaning the security model is preserved.

Later you may add charts to dashboards and share out those dashboards. It is important to also be aware that the chart would need to be shared separately. Sharing the dashboard does not automatically share the charts and views on the dashboard.


Data Aggregation

Charts are a useful tool to aggregate / group data. Giving the capability to show an average, count, max, min or sum of a value.

When producing a chart containing a date field we can group the data by day, week, month, quarter, year, fiscal period and fiscal year.


Tip: As charts are graphical your best way to learn about their capabilities is with some hands on experience.

I hope this post has given a feel for the concepts connected with charts that you’ll need to understand for the MB2-717 certification.

USD – LeftPanelFill Height

$
0
0

I do love the fresh we’ve had with V9.0 of Dynamics 365, the forms are clearer and the views are easier to read.

Except this readability has a trade off that some items now occupy slightly more screen real-estate. Generally this is a happy trade off that causes no issues. But I have seen a challenge when we display associated views in the left panel of Unified Service Desk.

Below you can see that in my application I display is list of associated cases in my left panel. (Actually this “space” is called LeftPanelFill.) The problem here is that my case view doesn’t fit nicely. Depending on your expected resolution and the length of your agent scripts you may find you have some “spare” unused space below the associated views. In this post I will show you a simple, yet hopefully useful, approach to quickly alter the height of these panels to use the full space available.

To do this I need to create a simple action call. The one I created is below.

The details of this action are as follows;

FieldDetails
NameMain Layout – Set Visual Property (LeftPanelFill, Height)
OrderI don’t care! So left blank.
Hosted ControlMain Layout

Your control may have a different name! This is my hosted control that has the component type of “Panel Layout”. Yours maybe called “Custom Layout” or something similar.

ActionSetVisualProperty

This action allows me to dynamically set visual (UIElement) properties, including height, width, visibility etc.

Dataelementname=LeftPanelFill

propertyname=Height

value=450

The details in the data field allow me to define that it is the LeftPanelFill I want to alter, that it is the “Height” I want to change and then its value.

Now, the value you pick is going to change dependant on the screen resolution you want to work with and the available space. Your agent scripts expand and shrink! So I have picked my longest script and picked a value that uses the remaining space. For me that is 450, your value might need to be slightly higher or lower.

Having created my action I needed to decide when to trigger it. I simply added the action to the BrowserDocumentComplete event of my associated cases hosted control. Meaning that whenever my cases associated view was loaded it would have an appropriate height.

Below you can see my improved layout. For me this not only looked better but meant my agents could see more recent cases without needing to scroll. Meaning this change also gave a more functional UI.

I know this is a simple change, but hopefully you will find seeing this useful. Enjoy!

MB2-717 Certification: (Microsoft Dynamics for Sales) – Connections

$
0
0

As I prepare for my Dynamics 365 certification in sales (MB2-717), I am creating blog posts based on my revision. I hope that collectively these posts may prove useful to anyone also preparing for the MB2-717 exam. In this post I will focus on connections.

The section of the skills measured statement that mentioned connections is shown below. Connections should be considered an important topic! If you have been reading all my posts on the MB2-717 you may recall that I commented on the number of times the word “relationships” is mentioned. Connections are important when we want to define all of the “random” ways the contacts / accounts in our customer base are related.


Note:The information contained in this post has been in a previous post I created for the MB2-716 exam. I have repeated this content in the interest of creating a complete guide for MB2-717.

There are many situations when you want to “link” entities but you don’t want to actually define a “fixed” database relationship. This concept is of particular importance in “CRM” systems when it might be useful to know how our customer base and contacts are related. In traditionally database solutions we define fixed relationships. These denote “facts” that in turn drive functionality in the system. Examples might include a quote relating to an opportunity or products that relate to an invoice.

But what if we want to note that our primary contact on an account is married to the CEO of another company. Or maybe that contact used to work for an organization or has been known to influence purchasing decisions of an “unrelated” account. Connections allow us to create these types of unstructured relationships in Dynamics 365.

Below I have shown how I have connected my contact “Debra Garcia” to several records.

  • Her contact record is connected to the account “City Power & Light” as they are her former employer.
  • She is connected to “Hammy Hamster” as he is her pet. (!!)
  • John Grey is her child.
  • And Matt Manchester is her colleague.

Hopefully this demonstrates that connections can be with multiple types of entity and that each one has a role. It is often easy to think of connections in terms of how accounts and contacts relate but keep in mind that any entity can be related to any other entity in this manner.



Hammy Hamster is the pet of Debra! Looking at Hammy’s connections shows us their two sided nature. As on Hammy’s contact record we can see that Debra is his owner.

Therefore, the role has two sides. Other more “normal” examples might be “Husband and Wife” or “Supplier to and Customer of”.



The concept of noting that someone is a family member, former employee or “whatever” in a CRM system can be really useful. These connections unlike a traditional relationship don’t suggest any physical / transactional relationship but knowing how all of your contacts and accounts are networked together can be very handy.

Enable an Entity for Connections 

For an entity to be enabled for connections it will need to have the connections property selected. Many system entities are enabled by default but you may need to enable connections on a custom entity before creating your connection role(s).


You should be aware that once an entity has been enabled for connections this property cannot be disabled.

Connection Roles

Before we can connect anything we need to define the possible connect roles. Luckily out of the box Dynamics 365 ships with many pre-created connection roles. So often a role will already exist.

To access the connection roles (and create your own) use the connection roles option that can be found in the business management area of settings.


As you can see below many connection roles exist out of the box. Including former employee, former employer, referred by etc etc .



To illustrate how these roles work it is possibly easiest to look at the example I have already given of owner and pet. Below you can see the connection role for owner.

Notice that each role is given a category. Categories include business, family, Social, Sales etc. The category is simply used to group connection roles, it has no other functional purpose.

Having given the role a name and category you will then decide if it should be available on all entities or more commonly you select the entities it applies to. In this example the only entity selected is contact. As only a contact can be an owner of a pet. (An email, case, or campaign are unlikely to have pets!)

Next notice the optional connecting connection role. In this example we want one side of the relationship to be the owner and the other to be the pet. Linking to a second connecting role of “Pet” allows us to achieve this.


If we look at the connecting role of pet you can see that it is also only available on contacts. And in turn that it connects back to the role of owner.


Viewing and Creating Connections

Once the connection exists viewing connections is simply a matter of navigating to connections. You will find a connections option in the navigation area of any entity enabled for connections.



Selecting this option will show a list of existing connections and allow you to maintain them.



Next you can select to connect the entity to you or to connect it to another entity. (Tip, the connections option can also be found in the main ribbon on any form!)



Next you search for the entity you wish to connect to and select a role for the connection.

Optionally you can enter a description specific to this connection. For example, I have commented that Rene and Anne have been friends since school.

In the details section you can also see the matching connection role, if one exists. And also optionally give assign a start and end date. For example, the dates might be useful when connection someone as a former employee as you could say when they were employed.

I hope this post has given you a flavour for the functionality associated with connections that you will need to know for the MB2-717 exam. (or the MB2-716 exam!) As always I will stress the importance of getting some hands on experience, so I encourage you to create several connection roles and test out how they work.
J


MB2-717 Certification: (Microsoft Dynamics for Sales) – Opportunity Management

$
0
0

As I prepare for my Dynamics 365 certification in sales (MB2-717), I am creating blog posts based on my revision. I hope that collectively these posts may prove useful to anyone also preparing for the MB2-717 exam. In this post I will focus on Opportunity Management.

You can see the skills measured statement that relates to opportunity management below. It is important to note that the opportunity has significant importance in the sales side of Dynamics 365 and therefore quite a few concepts relate to opportunity. (And by implication quite a bit of revision!!! L )


Hopefully this post will build on my earlier post that was connected with Lead Management.

I’ve already described that a lead represents a potential. When a lead has been qualified and we have established a “real” interest in one (or more) products or services it is converted into a sales opportunity. A lead is a generally a temporary record whilst the opportunity will exist for the lifetime of the sale. In some organisations an opportunity may convert into a sale in a very short period of time, maybe even on the day created. But other organisations have a “slow burn” sales cycle. Whilst selling software consultancy I have seen large opportunities stay active for over a year! (Some decisions just aren’t taken quickly.)

Whilst the opportunity is open the sales team may need to perform multiple tasks, including;

  • Refining the details of the opportunity including budget, expected revenue, purchase timeframe and price list.
  • recording phone calls, emails and appointments against the opportunity.
  • Adding details of the products the customer is interested in.
  • Tracking the competitors connected with the opportunity.
  • Sending sales literature to the customer.
  • Linking documents to the opportunity using SharePoint or OneDrive for business.
  • Recording details of any quotes prepared and submitting to the customer.
  • Sharing/assigning opportunities.

It is likely that the sales people will move the opportunity through a sales process (business process flow). Out of the box the typical stages in the “lead to opportunity” business process flow are qualify, develop, propose and close. But organisations will most likely refine these to meet their needs. Maybe including additional stages as conditional branches. For example: A large value opportunity may require an additional stage to gain financial approval before submitting a proposal to the customer.

Note:
The opportunity is one of the entities which is enabled for audit history. So if you have audting enabled you can track the before and after states of all fields that have been changed.

Before I look at how to manage opportunities lets quickly consider how to create them.

Creating opportunities from Leads

A common way to create an opportunity is to qualify a lead. This will create (and load) the opportunity. Plus, if the potential doesn’t relate to an existing contact or account then these record will also be created by the qualification process.

If you are using the out of the box lead to opportunity business process flow, the opportunity qualifying the lead will progress the flow from Qualify to Develop.

Below you can see that I have a lead and that the business process is on the qualify stage.


Selecting qualify will create any required contact / account records and create an opportunity record. Also the business process flow is advanced to the develop stage. (Plus the newly created opportunity record is opened.)


It is also worth being aware that any other relevant related information is carried forward to the opportunity. So if you’d entered stakeholders or competitors on the lead these would also now exist on the opportunity.

Any activities from the lead will be visible on the opportunity. An open activity on the lead, for example, would remain regarding the lead as an open activity. But it will also be visible on the opportunity.

Creating an Opportunity from an Account or Contact

You may wish to create an opportunity without having to create a lead record. Let’s say an existing customer telephones and tells you that they’d like to purchase your latest product. As the initial approach has already expressed a clear need maybe your business process will allow you to skip the lead stage.

To do this you can add opportunities directly from the recent opportunities sub grid on the contact and account forms. Or use the Add New Opportunity ribbon button on the associated opportunities view on the contact or account.



Using either of these options will open the quick create form on the opportunity, allowing the “main” details to be captured. Once completed you’d then be able to select the opportunity from the recent opportunities sub grid or opportunity associated view to edit full details if required.

Note: The quick create form does not show the business process flow. But when the record is opened it will be at the first stage in the flow. Which in the case of an out of the box opportunity would be the qualify stage. (The opportunity still has a qualify stage even if the lead entity isn’t used.)


Creating an opportunity from an activity

It is also possible to convert an activity into an opportunity. To do this use the “Convert To” button in the ribbon bar of the opportunity.

Selecting this option will trigger a dialog to allow you to convert the opportunity. This involves confirming the customer, setting the currency, linking to a campaign. Plus you can optionally open the created opportunity and also automatically close the originating activity.

Plus, if you associated the opportunity with a campaign you may opt to create a campaign response to show that a customer expressed interest in the campaign.

And also don’t forget that you can create an opportunity directly from the quick create function. (As shown below)


Winning or Losing an Opportunity

Opportunity Status ….. New opportunities have a status of open. As the sale progresses this status will be changes to “Win” to “Lost”.

Note: You could (of course) simply delete an opportunity when it is lost. But this isn’t advised as removing the opportunity will also remove any associated activities and notes. Generally, closing activities as lost is preferable.

The close as lost ribbon button will present the close as lost dialog. The status reason has (out of the box) options of “Canceled” or “Out-Sold”. A common customization will be to add to these to add lost reasons specific to your organization. It the dialog you can also confirm the revenue and date closed. Plus indicate which competitor the opportunity was lost to.


After closing an opportunity as lost the status changes to “Lost” and the status reason is set to the lost reason. For example, “Canceled”. (“Status reason” shows as status in the opportunity header, whilst “status” shows in the left hand corner of the footer on the form.)

strong>Note: You can use the “Reopen Opportunity” ribbon button at any point. As once marked as lost (or won) the opportunity becomes read only. Although, you can continue to add posts, activities and notes to the opportunity. As well as adding related entities such as competitors, sales team members and stakeholders. When you reopen an opportunity the last resolution activity will be updated to show as canceled.

strong>Also note: Each time an opportunity is marked as lost an opportunity “resolution” activity is created to show who cancelled it and why. This activity will also contain the competitor lost to and revenue lost. This is useful if the same opportunity is marked as lost and reopened several times.

The close opportunity as won dialog is very similar to the close as lost. Except that the competitor is read only. (As not required.) And the only status reason available (out of the box) will be won.

When I mentioned the lost process I explained that a resolution activity is created each time an opportunity is marked as lost. The same process happens for won opportunities. In addition to this, when opportunities are lost or won automatic posts will be created to record this event.


Defining the Sales Team

On the opportunity you may need to define who is working on this opportunity and in what capacity. This is done by defining the sales team. As you can see below you add users into the sales team and then assign them a role. Such as Account Manager or Industry Expert.

Also, like with other Dynamics 365 entities you can use the assign button to set the owner of the opportunity to the sales person or sales team who has overall responsibility for the opportunity. (The owner.)

Alternatively, opportunities can be shared with one or more Dynamics 365 users or teams.

Stakeholders (Connections)

When I described leads we saw how stakeholders can be defined that are connected with the lead. And that these stakeholders will carry forward to the opportunity when the lead is qualified. The opportunity form contains a sub grid that allows additional stake holders to be added.

It might be important to understand what stakeholders and the sales team member actually are! These are actual Dynamics 365 connections between the opportunity entity and effectively any entity in Dynamics 365. You will see that in the opportunity navigation stakeholders appear under the connections area.


Connections can be used to associate any CRM entity to any other. Each connection has a role. Meaning beyond stakeholder you can associated entities with other roles to opportunity. And whilst adding you can add additional information including description and start / end dates. (The dates might be useful, for example, if you were creating a connection to show that someone was an ex-employee of a company. When knowing their start / end date might be useful.)

I will cover the detail of creating connections and connection roles in a future post.


Estimated Revenue

One of the reasons we create opportunities is to understand the totla value of the potential revenue in our sales pipeline. Therefore entering an estimated revenue figure is going to be pretty important!

Below you can see that the header of my opportunity contains an estimated revenue value. In many situations the sales person simply enters this figure manually. In this scenario the revenue is being “User Provided”.


However the revenue maybe system calculated from a total of the prices for products added to the opportunity. I will cover products and prices in a future post!

You can see below that I have added two products to my opportunity and changed the revenue to be system calculated. In my simple example I have used something called a write-in product.

A write-in product allows me to simply enter a product name, value and quantity. I will cover more complex capabilities when we review the product catalogue.


In addition to adding the products, with system calculated estimated revenue I can also add an overall discount and add in any freight.


Quotes

Each opportunity can also optionally be associated with one or more quotations. If you have already entered products on the opportunity when a quote is created its details will include those products. I will cover the full details associated with quotations in a later post.


Tip: Once you have added quotes to an opportunity, it cannot be closed unless any draft or active quotes are closed. (Either as rejected or by converting them into an order.)

Additionally when you convert a quotation into an order a dialog will offer you the ability to automatically close the associated opportunity.


I’m sorry if you’ve found this a long post! I did start off by saying that the opportunity is a significant entity in the sales side of Dynamics 365. Therefore, you should probably prepare for quite a number of opportunity related questions in the MB2-717 exam. Despite this post being fairly long I have still actually only very briefly covered some topics. (Such as products, price lists and quotes.) I will return to these topics in later posts. So that is something to look forward to!

MB2-717 Certification: (Microsoft Dynamics for Sales) – Lead Management

$
0
0

As I prepare for my Dynamics 365 certification in sales (MB2-717), I am creating blog posts based on my revision. I hope that collectively these posts may prove useful to anyone also preparing for the MB2-717 exam. In this post I will focus on Lead management.

The section of the skills measured statement that refers to lead management is shown below. From this we can see that we need to understand how to qualify (convert) leads and how to handle reactivation etc.

A lead is a potential sale, potential contact or potential account. Typically, you will have a lead qualification process, during which the lead will be contacted and more details gathered. Then at an appropriate point a decision is taken to qualify the lead into an opportunity or disqualify it. For this reason, the lead record is often considered as a temporary holding area whilst determining their viability. In this post I will look at the process of creating and qualifying leads. And how the resulting opportunities are progressed.

Leads can come from many sources, sometimes companies may buy lists of potentials which are imported into Dynamics 365. Or activities can be converted into leads, such as an email from a prospective client. Or leads may be created from social media interactions via Microsoft Social Engagement.

The lead construct / process is not mandatory and isn’t used in all organizations. But any high volume business that sources lists of potentials from external companies, attends trade shows, distribute mass mails and such like are likely to use leads. And in all these cases would want to apply a standard qualification process. I have often seen tele-sales teams work with the lead entity and once someone has been contacted and their details / need confirmed they are converted into an opportunity for the sales team to progress.

An opportunity is a qualified potential sale and is used to track the sales from initial qualification right through to closure. (won or lost.) Typically, when a lead is qualified it will be turned into an opportunity. Along with either being linked to an existing account / contact or by creating a new account and contact. As the use of leads is not mandatory it should be understood that you can also create opportunities without having a lead.

Managing Leads

There are multiple places to create leads within Microsoft Dynamics 365;

From the quick create “+” then via a quick create form ….


Or from the “NEW” option directly in the leads area of sales, which would open the standard Lead form ….


Activities can also be converted into leads or leads created by importing data into Dynamics 365.

Below you can see a sample lead I have created, some things to notice;

  • Topic is a mandatory field. This is often populated with details of the source if the lead. For example, a business card collected at an annual trade show.
  • Name is a mandatory field.
  • No other contact details are mandatory in an out of the box set-up. (Customizations will typically be used to make at least one field mandatory.)
  • The company field is business recommended, but if selling to consumers directly this would be blank.
  • Leads, by default use the lead to opportunity business process flow. This starts off at the qualify stage.
    • Notice that a lead could be optionally linked to an existing contact or account.
    • Out of the box, estimated budget is a mandatory field which must be completed to progress to the next stage in the sales cycle.


On the right hand side of the lead form you will find navigation to allow you to associate the lead with stakeholders or competitors. Both of these are optional.

Stakeholders are any contacts that have an interest in this lead. Each stakeholder can be given a role which denotes their interest. The role defaults to “Stakeholder” but other options include champion, decision maker, economic buyer, end user, influencer and technical buyer. I imagine this section to be of particular importance when your lead is related to an existing account as you may already know multiple people at the account who will play differing roles on each opportunity.


Additional details can be recorded on the lead, if required. Including things like a description of the requirement associated with this lead, the industry section, currency and if related to a marketing campaign the lead generation can be linked to a source campaign. Maybe you run an advertising campaign and all new leads generate get associated to that campaign. (Allowing marketing to measure its success.)

As with contacts and account the lead record contains contact preferences. Including which channels this lead will accept communications on and what is their preferred approach.


Other useful fields exist in the lead header, including lead source, rating and status. The status is often used to show if the lead is new or if someone has contacted this lead.

I have often seen organizations decide that any contacted leads will be routinely closed “n” months after the initial contact if they haven’t been converted into an opportunity. Or other companies might create rules that say new leads must be contacted within 48 hours of creation. The lead status field helps support these types of customization.

And of course the lead has an owner. I have seen this have great significance in some organisations. It might, for example, be set to the name of the telesales person who is currently tasked with qualifying this lead.


Leads can be quailed or disqualified from the ribbon bar on the lead entity. I will cover the concepts connected with handling qualified leads when I expand on opportunity management. But let’s first look at how to disqualify the lead. You can see in the screen shot below that I can disqualify a lead for several reasons.

  • Lost, this might be used to denote that a lead has already purchased from a competitor.
  • Cannot contact,
    It might be quite common that you are cold calling from a list of data and simply can’t reach the lead. Maybe you are calling a business that no longer exists or someone has changed their phone number.
  • No longer interested, maybe someone registered an interest in your products at a trade show but when contacts they explain that interest has gone.
  • Canceled, I personally try to avoid users selecting this option. But say some duplicate leads are generated by accident. These could be cancelled to resolve the data issue.

Selecting any option from the disqualify list will change the lead status to “Disqualified” making it read only. Also the status shown in the header (held in status reason field) will change to the selected option.

It is not possible to change a disqualified lead but it is possible to use the reactivate option if (for example) the lead should re-contact you with a renewed interested.

Once leads are disqualified their details become read only. But it is important to be aware that this only applies to the main lead details. You can add posts, activities and notes to a read only lead. You can also amend or add stakeholders or competitor details to a read only lead.

The skills measured statement specifically mentions the deletion is disqualified leads! You can of course go to the closed leads view and simply use the “DELETE” option to remove unwanted leads. This however is something I don’t typically recommend my customers do! The reason being that a lead disqualified today may become viable in the future.

I hope this post has given you a good overview of the leads concept and a description of its key fields. Next time I will build on this logic by looking at how leads are qualified.

USD – Best Practice Analyzer

$
0
0

Unified Service Desk (USD) 3.3 has recently been released, one of its great new features is the best practice analyzer. In this post I will explore this new feature and hopefully show why you should immediately try this!

The Problem

Often in USD projects I have faced challenges with reliability or performance. Typically these issues can be connected with various aspects of the user’s desktop or maybe the USD configuration. Collectively these issues can result in poor performance or an unreliable experience. Some examples of potential areas include;

  1. Incorrectly set IE options can lead to several issues, including things that can make USD unreliable.
  2. Insufficient memory on the client machines could be a cause of slow performance.
  3. Poorly thought out configurations can slow the load of USD, start of sessions etc.
  4. And much more!

Until now diagnosing some of these issues has been a lengthy task. Or worse still, if you are unfamiliar with some of the issues they may simply remain unresolved. Not addressing them could ultimately result in an unresponsive or unreliable application that in turn will lead to unhappy agents in your contact centre.

Additionally I have often seen that a number of small issues exist which collectively work together to impact the users experience. This reality means diagnosing performance issues can be a challenge as normally you aren’t looking for one silver bullet but a number of minor “tweaks” that collectively can have a big impact.

The Solution

The newly released best practice analyser allows us to quickly find actual and potential problems. Using it is super simple, just click the analyse button. Having waited about 20 seconds you’ll be presented with a set of results. Some may show an error status but others will just be warnings.

Obviously I doubt the best practice analyser can, will or even should spot everything! But still I think running this tool is simply a no brainier. Why wouldn’t you want to confirm your application is following a basic set of best practices? Therefore I refer to my opening statement …. you should try this immediately.

Below you can see what happens the first time you run the best practice analyser. Simply click “Start Analysis” and wait just a few seconds.

After a few seconds you will see a result something like the one I’ve shown below. You can clearly see any errors and warnings.

Should you have any errors you can usefully expand each one to see some additional details. I haven’t got client caching configured, below you can see that the analyzer not only tells me what the problem is but also explains how to resolve the issue.

Tip:
You can get this same information for warnings and passed (green) items. Actually reviewing the green items might also be a benefit, as it will highlight some great best practice tips.

You may have noticed the downloads url. Navigating to this directory will usefully give you access to the report. Maybe you can get a user to run and email the results to your support team!

Setup (USD 3.3)

To enable the best practice analyser (manually) you will need to make a few changes to your USD configuration. The steps involved are these;

  1. Install USD 3.3 Client
  2. Create a hosted control
  3. Create an action
  4. Add to a toolbar button

Note:
I have opted for a manual install as I am not working with the Microsoft sample web package for USD. If you are, I guess, it may be easier to run the package deployer. Details can be found here.

Step One – Install the USD 3.3 Client

Download and install the USD 3.3 client. (or later)

Note:
Support is available for earlier versions of USD. (from 2.2 to 3.2) You can find details of this and Microsoft’s install instructions here. However, if you are using an earlier version I would suggest step one of following best practice might be to upgrade to the latest version.

Step Two – Create a hosted control

Below you can see my hosted control.

The details for my hosted control are as follows;

FieldDetails
NameBest Practice Analyzer
Display NameBest Practice Analyzer
USD Component TypeUSD Hosted Control
Application is GlobalSelected (Application is global)
Display PanelMainPanel
Application is DynamicYes
User Can CloseSelected (Users can close)
Assembly URIMicrosoft.Crm.UnifiedServiceDesk.BestPracticesAnalyser
Assembly TypeMicrosoft.Crm.UnifiedServiceDesk.BestPracticesAnalyser.BestPracticesAnalyserControl

Step Three – Create an action

Next we will need an action to load the Best Practice Analyser hosted control created in the previous step. This is a simple action that simply triggers the default action.

So the hosted control is “Best Practice Analyzer and the action is “default”.

Step Four – Add to a toolbar button

Finally you will need to create a toolbar button that will trigger the action. I decided to add mine to my existing about toolbar. (But you could add it anywhere.) So I simply created the toolbar button shown below;

Notice that my show tab is my Best Practice Analyzer hosted control. Also that I have added the action created earlier to the button.

I also (optionally) added the msdyusd_settings16 icon. You could skip this or use another image.

At runtime my toolbar looked like this;

Hopefully you will agree that using the Best Practice Analyzer is simple and something that you should routinely do. Enjoy.

MB2-717 Certification: (Microsoft Dynamics for Sales) – Revision Guide

$
0
0

I have been completing a series of posts to help people prepare for the MB2-717 certification (Microsoft Dynamics for Sales). Here is a collection of links to all of those posts. I hope these might serve as a useful revision aid for the MB2-717 exam.

The MB2-717 certification is not easy! But sales is at the heart of any CRM system and therefore one I hope you will really enjoy learning about.

Note: This post is a work in progress, please check back for updates!

Introduction / Exam Tips

Create a Customer Organizational Structure
Manage customer records
Create and maintain a current customer base organizational structure; identify potential sales opportunities by utilizing core records such as accounts, contacts and customers
Manage the sales process Create and maintain sales transactional records; track the sales progression; manage the sales process from lead generation through quote, order, and invoice creation
Manage customer communication Create and manage social engagement sources, identify opportunities and generate leads
Manage sales literature and competitors Create and maintain a sales literature repository, create an organized methodology for identifying and tracking competitors

Revision Guides

Customer Records

Sales Process – Introduction

Sales Literature

Competitors

<<Social Engagement>>

Manage Leads and Opportunities
Manage leadsIdentify leads and track them throughout the conversion process, reactivate or delete disqualified leads
Identify and manage opportunitiesIdentify opportunities to track throughout the sales workflow, create opportunities with a defined status, create records within the opportunity form, assign opportunities to designated sales staff
Utilize opportunity functionality
Close and document opportunities as won or lost, use Quick Create to add new information, connect opportunities to other record types, apply connections to a data structure
Manage opportunity relationships Analyze lost sales opportunities through resolution activities, utilize multiple opportunity views

Revision Guides

Lead Management

Opportunity Management

Connections

<<Activities / Interaction Wall>>

Manage Relationship and Sales Analysis
Manage relationship intelligence
Provision and configure Relationship Insights to integrate with Exchange, create and prioritize actions and tasks, track interactions, manage sales communication
Manage relationship analysis Provision and configure relationship intelligence, create actionable and productivity cards by using Relationship Assistant
Integrate email with Dynamics 365 Sales
Track interactions with a specific email; manage sales relationships through statistical analysis of email activity, untracked emails and performance activities; manage sales relationships with Email Engagement; use engagement analytics and Auto-capture
Manage sales by using sales analysis tools
Improve sales tracking by using Advanced Find, editable grids and built-in reports; export data to Excel in both static and dynamic processes; export Excel templates

Revision Guides

<<Advanced Find>>

<<Editable Grids>>

<<Built-in Report>>

<<Export to Excel / Excel Online>>

<<Excel Templates>>

<<Email – Server Setup>>

<<Email – Clients>>

<<Email – Tracking and Analytics>>

<<Email – Templates>>

<<Email – Auto capture>>

<<Relationship Insights>>

Manage the Sale Process
Manage the business process flow Manage the tasks required of each state in the Business Process Flow, create territories and assign them to managers and sales staff, configure currency and exchange rates
Manage Products by using the Product Catalog Manage prices lists, discount lists and unit groups; create, maintain and clone products; manage the product lifecycle
Manage price structures Create price lists, create discount list models, assign currencies to products
Manage product relationships
Identify product relationships, differentiate product relationships by family units, customize properties for all products, identify and bundle related products
Manage sales transactional records
Create price and revenue structures with inclusion of line items, currency rates, exchange rates, and write-in products; manage the quote lifecycle; create and manage quotes, orders, and invoices

Revision Guides

<<Business Process Flows>>

Currencies

Sales Territories

<<Product Catalogue – Introduction>>

<<Product Catalogue – Price Lists>>

<<Product Catalogue – Discount Lists>>

<<Product Catalogue – Product Relationships>>

<<Product Catalogue – Families and Properties>>

<<Product Catalogue – Bundles>>

<<Product Catalogue – Product Hierarchy>>

<<Transactional Entities>>

    <<Line Items>>

    <<Quotes>>

    <<Orders>>

    <<Invoices>>

Improve Sales Performance
Manage goals Create manageable and measurable goals, delineate goals by fiscal periods, specify definitions and goal metric records, analyze individual and organizational progress by creating goal hierarchies, use rollup queries
Manage visual tools with Sales Analysis Create documents and templates, integrate charts and dashboards

Revision Guides

Goals

<<Word Templates>>

Charts

Dashboards

<<Gamification>>

Manage Customer Information
Operate Dynamics 365 sales functions
Identify and define the functional areas of Dynamics 365 Sales, model relationships and records in Microsoft Dynamics 365, access Dynamics 365 Sales through various client access methods, utilize the help center
Perform data managementCreate customers and contacts within 365 Sales, enforce customer relationship by using activity types, use views and global searches
Perform lifecycle management Utilize leads, convert leads into customers in the lead life cycle, perform opportunity management, manage cases

Revision Guides

<<Functional Areas of Dynamics 365>>

<<Relevance / Category Search>>

<<Clients – mobile / web>>

<<Help Center>>

MB2-717 Certification: (Microsoft Dynamics for Sales) – Dashboards

$
0
0

As I prepare for my Dynamics 365 certification in sales (MB2-717), I am creating blog posts based on my revision. I hope that collectively these posts may prove useful to anyone also preparing for the MB2-717 exam. In this post I will focus on dashboards.

In the skills measured statement (shown below) you will see a reference to dashboards.


In this post I will focus on the dashboards available to us in the core Dynamics 365 product. But you may also need to be aware the that we can view Dynamics 365 data on a PowerBI dashboard or include visualizations from PowerBI on a Dynamics 365 dashboard.

There are actually two styles of dashboard in Dynamics 365. The “traditional” dashboard that will my focus in this post but also we have the Interactive Service Hub Dashboards (ISH).

Note: As ISH is focused on service and the MB2-717 exam concentrates on sales I will not cover ISH here!

What is a dashboard???…. Dashboards are personalized pages. Just like your car dashboard they provide a snapshot of key information in an easy to access format. Dynamics 365 dashboards typically include charts and list views but you can also add iframes, web resources, Power Bi charts, Microsoft Social Engagement insights etc.

In addition to simply viewing data it is also possible to interact with the information presented. For example, you can drill into charts on a dashboard in exactly the same way as you can from list views elsewhere in Dynamics.


As with charts and views there are two types of dashboards. System and personal.

Personal Dashboards

  • Users can create personal dashboards.
  • Initially only the user creating the dashboard can see it.
  • Personal dashboards can be shared with other users and teams.
    • When sharing dashboards, it is important to ensure that all personal charts and views contained in the dashboard are also shared.
    • Sharing does not break any of the security model rules. You are sharing the dashboard not the underlying data!

System Dashboards

  • Out of the box various system dashboards exist by default.
  • System dashboards can be created by developers with the system customizer or system administration roles.
  • System dashboards can be made available to all users or have access restricted based on security role.

As the image below shows, out of the box Dynamics 365 ships with multiple system dashboards. Some have a customer service focus and some concentrate on sales. Others are specific to optional Apps within Dynamics 365, such as Field Service, Project Service and Microsoft Social Engagement.


Having clicked on a chart on dashboards three icons become visible. These allow the chart to be refreshed, opened in a full view (showing related records) and expanded to fill the screen.


Out of the Box System Dashboards

As the MB2-717 exam is a sales exam having an understanding of the types of information included in the out of the box system dashboards for sales may be beneficial.

Tip: In my opinion, the out of the box system dashboards should be considered a template that can be changed and enhanced. Some of the charts / views may need adjustment to report the results you’d like to see!

DashboardPurpose / Content
Sales Activity DashboardAs the name suggests the sales activity dashboard give us a sense of your “activity” in sales. Meaning this would commonly be used by a sales person to see KPIs for their activity and a view of any open activities they need to progress.

Charts include;

  • Sales pipeline (for my open opportunities)
  • Percentage achieved (for my goals this period)
  • Top opportunities based on revenue (for my open opportunities)
  • Leads by source (for my open leads)
  • Top customers based on revenue (for closed opportunities this fiscal year)

Views include;

  • My open activities
Sales Activity Social DashboardThe sales activity social dashboard is actually very similar to the sales activity dashboard, the key difference is that it shows the sales persons personal wall. In the wall the sales person could engage in “conversations” about their activities.

Charts include;

  • Sales pipeline (for my open opportunities)
  • Leads by source (for my open leads)
  • Top opportunities based on revenue (for my open opportunities)
  • Top customers based on revenue (for closed opportunities this fiscal year)

Web resources include;

  • Personal Wall, showing posts and relationship assistant (Note: Will show Yammer is enabled.)

Views include;

  • My open activities
Sales DashboardThe sales dashboard is again aimed at the individual sales person but contains many more views. I guess this might be considered to be one place to visit for the key things they need to review. Such as their open activities, open opportunities etc.

Views include;

  • My open activities
  • My open opportunities
  • My open leads
  • My active accounts

Charts include;

  • Sales pipeline (for my open opportunities)
  • Top customers based on revenue (for closed opportunities this fiscal year)
Sales Performance DashboardUnlike the previous dashboards the sales performance dashboard generally looks at companywide KPIs.

Charts include;

  • Sales pipeline (Open opportunities)
  • Goal progress (for my goals this period)
  • Goal progress (for my group’s revenue goals this period)
  • Percentage achieved (for my group’s revenue goals this period)
  • Sales leader board on revenue (by owner for closed opportunities this fiscal year)
  • Deals won vs deals lost by owner (for closed opportunities this fiscal year)

Creating Dashboards

Whilst creating a new dashboard the user can select one of 6 templates, as shown below.


Once the template has been selected you can add charts, views, ifames and web resources as required.

Note:
By default you will have four icons on the dashboard panels, supporting charts, views, iframes and web resources. Below you will see that I have six icons! This is because I have also enabled PowerBi and Microsoft Social Engagement in my Dynamics 365 instance.


As you select to insert components a dialogs will prompt for the required details. As an example I have shown the dialog for adding a chart below.


Sharing Dashboards

It is possible to share personal dashboards with other users and teams. (Just like charts and views.) Simply select the SHARE DASHBOARD option in the ribbon bar.


The sharing dialog will then appear. It is worth knowing that the process to share views (advanced finds) and charts is pretty much the same. Users and teams can be added and then you select the privileges as required. By default, just the “Read” privilege is given but you can ass additional access permissions as required.


An important tip about sharing is that if you have added any personal charts or views to the dashboard you will need to also share each of those separately.

It is also important to be aware that the Dynamics 365 security roles apply. Sharing does not allow you to circumvent the role based security model. When sharing dashboards, views and charts you are only sharing the view. You are not sharing access to the underlying data. ]

For example:
If you share a dashboard with a sales person that contains cases and they don’t have access to cases, they would not be able to view that section of the dashboard.

Creating System Dashboards

We create system dashboards in a very similar manner to personal dashboards. Except only developers with system customizer or system administrator roles have access. When customizing the system, we have a dashboards option that gives access to existing system dashboards and allows the creation of new ones.


When creating a system dashboard, we have two options, dashboard and interactive experience dashboard. The first being the “traditional” dashboard the second being those available in the Interactive Service Hub.

If you select the Dashboard option, you will be presented with the same screen as when creating a personal dashboard. From this point on the process is pretty much the same. (Expect you will need to remember to publish the dashboard once it has been defined!)


As we saw earlier, in my system I can add PowerBI and Microsoft Social Engagement visualizations to my personal dashboards. With system dashboards I cannot add PowerBI Visualizations. Meaning only 5 icons are available to me when building a system dashboard.

One key difference with system and personal dashboards is that their access can be controlled based on user roles. Using the enable security roles option. As shown below we can enable the dashboard for all roles or select specific roles.


I like dashboards! I hope you will enjoy “playing” around with them. As always, at this point I am going to stress the need for some hands-on time as part of your preparation for the MB2-717 exam. Have fun!

D365UG / CRMUG Birmingham – May 2018

$
0
0


The next regular Birmingham user group event will be on 17th May.

Starting at 6:30pm for networking.
Presentations will begin at 7pm.

As always a fantastic buffet will be provided and car parking is free.​

Details of our two amazing presentations are below ….

Get Dynamics 365 Certified

What are the Dynamics 365 certifications and how do I get certified. Julian will discuss the certifications, show the resources available and explain where you start on your path to certification

Presenter: Julian Sharp, Vigence

Julian is a highly experienced Dynamics 365 consultant and trainer. He holds around 40 Microsoft certifications and has been a Microsoft Certified Trainer for many years. (And Julian taught me CRM!)

The Importance of Brand Perception

Worried about what your customers think of you? Brand perception is so important and it affects all areas of your business. Why not nip the problem in the butt before it reaches a stage of unmanageability? Check out how to do this with Dynamics 365 Customer Engagement and Microsoft Social Engagement.

Presenter: Chris Huntingford, Hitachi Solution

Chris is a pre-sales solution architect working for Hitachi. He describes his role as “Exposing the AWESOMENESS of Microsoft Dynamics 365 Customer Engagement and the associated products”.

Location:

Birmingham Chamber of Commerce
75 Harborne Rd,
Birmingham, B15 3DH

Please register now ….

You can register on CRMUG’s site here. Or you can register on meetup.com here.

MB2-717 Certification: (Microsoft Dynamics for Sales) – Product Catalogue (Introduction)

$
0
0

As I prepare for my Dynamics 365 certification in sales (MB2-717), I am creating blog posts based on my revision. I hope that collectively these posts may prove useful to anyone also preparing for the MB2-717 exam. In this post I will begin to explore the product catalogue.

In previous posts I have mentioned how products can be associated with opportunities, quotes etc. but how do we define what those products are and how do they fit into the overall sales process?

The product catalog not only includes the definition of the actual products and services but also the units they’ll be sold in (unit groups) and the prices that will be charged. (Price lists) Plus products can be grouped into families and bundles as required. The components of the product catalog include;

  • Discount lists, offer the ability to discount prices based on volume purchased.
  • Unit Groups, these define how the products are sold or packages. (Examples might include, Single Units, Dozens, Box of 10 etc)
  • Price lists, allow for differing pricing structures for specific customers and currencies.
  • Price list items, allows prices for certain products to be defined and linked to price lists.
  • Products, the product entity holds the key information about the product likes its name, description, unique ID, default unit group etc.

A product can be a physical item such as a chair or a can of beans. It is important to understand a product can also be service provided, such CRM Consultancy, a  software support contract or even a dental checkup. In the case of services the products will be defined in units of time or single units. (1 hour of consultancy or 1 dental checkup.)

Unit Groups

Before you can create a product you must have at least one Unit Group. Imagine you sell cans of beans. The basic unit for a can of beans might be 1 can (each). And they maybe bought by in cases of 24 cans. Or maybe even by the pallet load, which might be equivalent to 12 cases.

  • 1 can.
  • 1 case = 24 cans.
  • 1 Pallet = 12 cases. (Or 288 cans)

Instead of defining a separate product codes for 1 can, 1 case, and 1 pallet. We define unit groups.

Unit groups can be found in the product catalog, which is in the settings area of Dynamics 365.


Below you can see that I have created a unit group for Canned Goods. I’ve named it like this because I might want to sell cans of peas, sweet corn and beans all using this one unit group. Notice that I have another unit group called “Default Unit”, this comes out of the box and is often used when products are stocked and sold only as singles.


By opening my canned goods Unit Group, you can see I have three units. Firstly, a single can. This is known as the base unit and will always have a quantity of 1. (All unit groups must have a base unit.)

Then I have a case which is linked to a single can as its base unit. This has a quantity of 24. Meaning a case is made up of 24 cans.

Next notice I have also defined a pallet. This doesn’t use the single can as its base unit but the case. A pallet is made up of 12 cases and a case of 24 cans. (So …  12*24 = 288 cans.)


Products

Once you’ve created your unit groups you can start to create products. Under settings and product catalog you’ll find the products option. Here I can add product families, products and product bundles. I will cover families and bundles a little later. So first off I’m going to add a new product.


When defining a product, you’ll allocate a name, unit group (and default unit from that group), default price list and other items like the list price, cost price and standard cost.

It is important to be aware that some of these fields are not shown on the product form by default but do exist in the database. On my sample form below you can see I have added some of these fields to illustrate this. This is important because depending on your pricing approach the list price, standard cost and current cost maybe be used in the price calculation logic.

Also note that the product has a valid from and valid to date. These are for reference only! There is no out of the box system functionality to automatically retire a product from the valid to date is reached. If this functionality was required customizations could be created to enforce any required automation.

You may notice I have added a field called “Quantity on Hand”. Out of the box the Dynamics 365 sales app does not have a concept of inventory, meaning no stock levels are maintained. The quantity on hand field might be useful if you’d like to import stock levels from an external system. The decimals supported field does have an impact on the quantity on hand field.

Note:
The Field Service app does have a concept of warehouses and inventory. Meaning that any inventory information only comes into play when you are using Field Service.

Notice that I have given the product a subject of “Default Subject”, this illustrates that products can (optionally) be linked to the subject tree. The subject tree can be used to categorize products. In my simplistic example I haven’t configured realistic options within the subject tree. (I don’t expect you to need to know how to customize the subject tree in the MB3-717 exam but you might need to know that is exists as a field on product.)

The default price list is a business recommended field. If you save a product without entering a valid price list a warning notification will be given. But you can ignore this and publish the product if required.


Product Life Cycle

Products have a life cycle; they always start off as draft. Then, once fully defined we publish the product to make it active. After time a product maybe retired or revised.

StatusDetail
DraftProducts start off in draft status. At this point they cannot be added to any transitional records, including opportunities, quotes, orders and invoices.
ActiveOnly active products can be added to opportunities, quotes, orders or invoices. Products become active once published.
RetiredWhen a product is no longer relevant it is retired. (For example when a new version is created.) Retired products cannot be added to any new opportunities, quotes, orders or invoices. But if the product already exists on an opportunity when retired it can continue with the rest of the sales cycle.
Under RevisionThis is used when products are being updated. Whilst this is happening the current version of the product is still available but any of the changes being made to this new version are not seen until activated.

Notes:

  • A retired product can be made active again by selecting the “Activate” button from the product ribbon. (Draft to Active is called publish, but Retired to Active is called Activate.)
  • Only active products with valid price lists are available for addition to opportunities, quotes, orders and invoices.
  • Making a product active does not restrict changes to the product detail.
  • Making a product retired makes it read only and meaning it can no longer be maintained.

Cloning Products

Cloning products is a simple process that helps when creating products that are similar. Take my earlier example of Beans. Beans are a canned goods sold in a particular way, but I might also sell cans of sweet corn, peas, carrots. (etc) The configuration of each of these maybe very similar. Being able to clone one of the products and then make amendments may make the time create all of these variations of canned goods quicker.

You can clone a product regardless of its state. Maybe you want to clone a retired product to become a new improved version of an old favorite.

Once cloned the new record is given a name based on the original with a suffix of an 18-digit long number that is derived from the date time. (e.g Baked Beans-201604170610464756)

The clone button can be found once one products have been selected in the product list view or directly on the product form. When you select the clone button a warning message will be displayed stating that a new record will be created.


A new record is created and given a name based on the original with a suffix of an 18-digit long number that is derived from the date time. (e.g Baked Beans-201805031316393198)

Also notice that when the product is opened you can see that a similar code has been given a similar suffix.

When we clone a product all of its details are copied. However I have noticed that the default price list is not cloned.


You can now edit this new product and publish when ready.

I hope this post has given you a quick introduction into the product catalog, in later posts I will build on these concepts by explaining price lists, product families, product bundles and such like.


USD – UCI and RunXrmCommand

$
0
0

Version 3.3 of Unified Service Desk (USD) has introduced a new hosted control component type of “Unified Interface Page“, which supports the new Unified Client Interface (UCI). These have several differences to the “CRM Page” hosted controls we have traditionally used with the standard web client. In this post I will explore just one of these differences, RunXrmCommands.

I’ll begin by reminding us of the existing concept of a RunXrmCommand. Below you can see a simple example of a RunXrmCommand that would work with a “CRM Page” hosted control. The command simply runs some JavaScript directly on the form. In my example below the code sets the accounts website field to a replacement parameter and then saves the account. Pretty simple stuff.

However, this approach will no longer work with the “Unified Interface Page” hosted controls. I hope you know “Xrm.Page” does not work with the UCI. (And that Xrm.Page has been deprecated so will be removed from Dynamics 365 at some point.)

Instead of using Xrm.Page our code must be aware of the context within which it is running. The problem is that with the old approach to RunXrmCommands we don’t have a method of passing the context.

Additionally notice that my code used replacement parameters directly in the function. I’ll come back to this in a second, as we also have a new approach to handling replacement parameters.

As an example, let’s look at how I need to change this action to work with the Unified Client Interface.

Step One – Create a Web resource.

The first thing we do is create a web resource in the customizations area of Dynamics 365.

My web resource was simply a small piece of JavaScript, I have shown it below.

My code is shown below. The important things to note are the parameters on the function. The first is “context”, and the second will contain the contents of a replacement parameter. I’ll show you how to pass that into this function in second!

Unified Service Desk will only substitute my replacement parameters directly in the actions being run. Meaning I can no longer directly use replacement parameter in my JavaScript but I can pass them in as parameters.

Also notice that instead of using “Xrm.Page” I have used “context”.

function UpdateWebsite(context, param1) {
  var url = param1;
  if (url !="" && url != null) {
    context.getAttribute("websiteurl").setValue(url);
    context.data.entity.save();
  }
}

Step Two – Change my Action

If your hosted control is of type “Unified Interface Page” then RunXrmCommands can be used to call a function held in a web resource.

You can see below how my action changes when using the Unified Interface.

webResourceName=neil_Account_RunXrmCommands
functionName=UpdateWebsite
'[[Account Website.url]+]'

Notice the data field, it no longer contains the actual JavaScript I am going to run. Instead it has three lines.

The first line defines the name of the web resource. “webResourceName=xyz”

The second line gives the function name. “functionName=xyz”

The third line is optional. This is the replacement parameter I want to pass into my function.

Tip:If you have more parameters you’d like to pass simply list them, one on each line.

I hope you can see that this new approach is quite simple to adopt. I guess it may seem long winded if you only have a single line of code to execute! But I actually think it will lead to a more structured coding approach. I have found that currently this style of RunXrmCommand only works with the “Unified Interface Page” hosted controls.

MB2-715 Exam material

$
0
0

Hi guys,

I am trying to find exam study material or practice tests for MB2-715 exam. Can anyone help me please?

Thank you

MB2-717 Certification: (Microsoft Dynamics for Sales) – Product Catalogue (Discount Lists)

$
0
0

As I prepare for my Dynamics 365 certification in sales (MB2-717), I am creating blog posts based on my revision. I hope that collectively these posts may prove useful to anyone also preparing for the MB2-717 exam. In this post I will review discount lists.

Recent posts have already covered other concepts related to the product catalog, this post will continue that theme by looking at discount lists.

I have already described how to create products, define the units they will be sold in and define associated price lists. But what if you want to discount based on the volume quoted / purchased. This is when discount lists come into play.

The use of Discount lists are completely optional. Often organizations will not offer volume discounts in this way but when volume discounts are needed their use will be essential.

Discount list maintenance can be found in the “Discount Lists” option with the product catalog. Found in the settings area of Dynamics 365.

A discount list can reduce the price based on a percentage or by a fixed amount. When you first create the list you’ll be prompted to pick which type of discount is required. Notice that if the discount is a fixed amount then the currency will also be required.


Having created the discount list you can add a number of possibly discount bands to each list. Each one is given a begin and end quantity. So you might give a £2 discount if the customer purchases between 300 and 500 items. Then £5 is they purchase 501 to 1000 items. (per item)

Note: Ranges can’t overlap. Meaning only one discount will ever apply.

This same logic is applied to a percentage discount list when the percentage amount might grow based on a sliding scale of the volume required.


Having created the discount list and the bands of discounts within it, you can assign this discount list to each price list item that requires this discount. Below you can see that I have added a discount list to my product “Sweetcorn”.


As an example, below you can see that on my opportunity I’ve added 1 case, 300 cases and 600 cases of sweetcorn. The unit price of one case is £10. Making 300 cases worth £3,000. Without any discount.

But because I offered a £2 discount for 300+ units. My final price is £2,400 for 300 units. (Equating to £8 per unit instead of the default £10.)

And because I offered a £5 discount for 501+ units, the price for 600 units becomes £3,000. (Rather than £6,000.)

Discounting by percentage would work in a similar way but that a percentage amount would be deducted.

Tip:
You might find discounting by percentage useful if operating in multiple currencies. As then the same discount list and be reused for all currencies.

Hopefully you can see that discount lists are pretty simple to create and associate with price list items. It is important to ensure you are aware of the concepts behind discount lists for the MB2-717certification.

Default Appointment Duration

$
0
0

Recently someone sent me a LinkedIn message! They had a question about how to change the default duration on appointments in Microsoft Dynamics 365 from 30 mins to 1 hour. I love questions so here is my answer ….

Initially I thought of doing this using a business rule but their requirement involved wanting to use JavaScript. I actually find myself using less and less code these days, so I enjoyed the challenges of creating a few lines of code! (I’m not really a coder!!)

Additionally in my answer I wanted to avoid using Xrm.Page. (as it is deprecated!)

I decided to add some code to the On Load event of the appointment entity to achieve this. You can see in my form properties shown below how I’ve added some JavaScript and associated my “OnLoad” function to the event OnLoad.

This is simple enough but the key thing here is to remember to click the “Edit” button and select the “Pass execution context as first parameter” option. (I am doing this as I want to avoid the Xrm.Page command.)

My JavaScript is shown below. Notice that I am using the form context rather than Xrm.Page.

Also notice that I am only changing the duration when the form type is create. (I only want this to apply this default for new appointments!)

Additionally, when we change the duration directly on the form the end date will automatically update. However I found that changing the duration with code did not trigger this. So I also defaulted the end date.

My JavaScript code is below;

function OnLoad(executionContext) {
  var formContext =  executionContext.getFormContext();
  var durationAttr = formContext.getAttribute('scheduleddurationminutes');
  var endAttr = formContext.getAttribute('scheduledend');
  var startAttr = formContext.getAttribute('scheduledstart');
  var isCreateForm = (formContext.ui.getFormType() == 1);
  if(isCreateForm) {
    // ** Set the duration
    durationAttr.setValue(60);
    // ** I also found I had to actually set the end time!
    var newEnd = new Date(startAttr.getValue());
    var hour = newEnd.getHours();
    newEnd.setHours(hour+1);
    endAttr.setValue(newEnd);
  } 
}

Having made these changes and published you can see that my appointment has defaulted to 1 hour duration and the end time is one hour in advance of the start time.

This is a simple piece of JavaScript but as one person asked the question I’ve assumed others might be searching for a solution to the same issue, therefore I have responded with this blog post. Enjoy.

MB2-717 Certification: (Microsoft Dynamics for Sales) – Product Catalogue (Product Relationships)

$
0
0

As I prepare for my Dynamics 365 certification in sales (MB2-717), I am creating blog posts based on my revision. I hope that collectively these posts may prove useful to anyone also preparing for the MB2-717 exam. In this post I will review product relationships.

Product relationships can be used to “link” products for a variety of purposes including up-sales, cross sales, accessories or substitutions.

I recently bought a new touring caravan, I will use that as a suitable product to explain these options;

  • Up-sale– An up-sale would be any improvements / additions someone might want to buy. In terms of my caravan purchase, this could include many items such as alloy wheels or a higher specification of kitchen appliances.
  • Cross sales– Cross sales are any additional products someone might want to buy. For example someone who recently bought a caravan maybe interested in picnic chairs, a cycle carrier or a BBQ.
  • Accessories– these are anything additional I could use in conjunction with the product. In my caravan example, maybe an awning, gas bottles or a leisure battery might fall into this category.
  • Substitutions– these are items that could be swapped. With my caravan purchase, maybe I could substitute a standard caravan for a deluxe one. Or possibly swap the 2018 model for the 2019 one.

Having created all of my products, in the relationships section I can add multiple related products. And then say if each one is an up-sell, cross-sell, accessory or substitute part.


With each related product you can also define if the relationship is one way or both ways. (Uni-directional to bi-directional.) For example: Someone who bought a caravan might be open to a cross-sell to a BBQ. But someone who bought a BBQ is unlikely to immediately need a caravan. Meaning this would be a uni-directional sales relationship.

To give you another example, someone buying some picnic plates might be interested in some picnic bowls. And someone buying some bowls might be interested in plates. This product relationship would therefore be bi-directional.

Note: Accessories would normally only be unidirectional. A battery might be an accessory to a caravan but a caravan can never be an accessory to a battery!


When adding products to an opportunity I have the option to look for suggestions (see below) …..


Clicking suggestions will show all of the products related to the caravan and give me an option to quickly pick which items to add to the opportunity.

NOTE:
The suggestions are all related products that are available in the price list (as price list items) that is assigned to the opportunity. So in my example, all of the items will exist in the Caravan and Camping Equipment price list. This fact might force a little planning when considering how to best organize your product catalog / price lists.

Below you can see what the suggestions screen will looks like. As you hover over each suggestion an option appears to pick that item. When you click “Add to List” all of the “picked” items will be added to the opportunity.


Having picked the items and selected add to list the list of products on my opportunity now looks like this.

NOTE:
Something that is worth mentioning and also quite significant for users at this point, the product sub-grid on the opportunity form supports inline editing. I could, for example, manually enter a discount on the BBQ without having to open the BBQ product page. This approach makes searching for suggestions and amending products a very fast process.


Just think about this process a little deeper for a second! Now I’ve added Gas BBQ to the caravan I could click suggestions again and add some BBQ fuel, lighter fluid etc. Or clicking on suggestions for the battery might offer a battery charger. By carefully configuring related products in the product catalog you give the operators a powerful tool to help promote products / services.

Hopefully this post has given you a good understanding of product relationships and suggestions. Next time I will continue my revision by looking at product families. Isn’t revision fun???

Viewing all 1692 articles
Browse latest View live




Latest Images