Restocking of Warehouses to Automate Replenishment – Dynamics 365

This blog will highlight the restocking of warehouses. Many companies will use process such as main stocking warehouse, as well as line-side production or picking warehouses that need to be replenished. There may not be enough physical space in these locations or material may not need to be there until it is ready to be used, so warehouses will purchase and stock material in one warehouse and transfer it to the other. Refilling warehouses can help automate the generation of that transfer based on demand. This post won’t talk about other replenishment strategies such as those used in Advanced warehousing, but will show the basic Master planning refilling automation.


In the example above, this shows a rule for Warehouse 11 to supply Warehouse 12. So if there is demand for an item in Warehouse 12 and not enough inventory on-hand or on an open transfer, a planned transfer order will be generated to let the warehouse know to pick the material required and send to Warehouse 12. This alleviates the need to manually create transfers or alert personnel through unnecessary phone calls or emails. And as I’m sure you already know, transfer orders support picking activities just like sales orders. One quick thing to note is that the above rule applies for the entire warehouse. If the transfer rule applies only to specific items, that’s where you want to specify planned order types per warehouse in the Item coverage of that product.




Dynamics 365 – Structuring Email Templates

Usually we have to face the Client’s requirement of using  Dynamics 365 email templates. And after research I found great flexibility to take advantage of Dynamics 365 email templates. Structuring the standard email templates is a bit tricky. But with a little exercise, you can speedily create handy templates to send as one-offs or send automatically via workflow.

Let’s build our template.

  • Go to Settings > Templates. Note: Your Settings area may be locked down in which case you’ll need permission or help from an admin.
  • Click the New button. Choose the type of email template you want, e.g., Contact, Lead, Global, etc.
  • Create a Title for the template. This is the name you will select when you use the template.
  • Subject: What will appear in the Subject line of the email.
  • Body: In this basic example we’ll stick to message text, plus personalization of sender and recipient.

Draw the body using a combination of text, plus anything you want to auto-populate using data from Dynamics 365. Our example template scenario is an email used as a follow up to submitting a quote. The yellow boxes correspond to personalization of the template for both the recipient and the sender. How do we add those? In the image above, you’ll see an Insert/Update button. Click on that and pull up a dialog box.

Click the Add button to choose specific data fields that will auto-populate specific areas of the template. I’m going to place the recipient’s first name in the greeting followed by a comma.

And then I enter the body of the email. At the end is a signature consisting of sender (user) name, title, and phone. Signature will consist of data auto-populated from our system, just like the recipient’s first name was. The image below reflects the first draft of the email template. At first glance, it looks OK. But upon testing, we’ll see that it’s riddled with mistakes.

Let’s send our template. We’ll open the Contact record of our template recipient and select Activity > Email in the timeline.

Here’s where we select our template. In this case, we select “Contact reconnect (sample for blog)”.

Click Send button. Note here: I’m sending the template to my own Inbox for testing purposes. This is an important step. Please don’t send your template until you’ve tested, fixed and tested again.

Now let’s check at what this looks like to the recipient.


By Syed Rafay Ali – Waiting for your valuable feedback. Thanks…


Steps to Import Leads and Contacts – Dynamics 365 CRM

There are 4 simple steps to importing basic data and we’ll walk through them in this order:

1 Populating and Formatting your lead or contact list

2 Adding fields for so you can query and segment your list in Dynamics 365

3 Using the Data Import tool

4 Checking the work

The screen captures you’ll see here are from an older version of Dynamics CRM. Your system may be newer or look different but the process is similar.

In this blog we’re just going to import Leads. The process for importing Contacts is very similar so if you master one you’ll be able to do the other. You can access import Leads functionality and templates right from your Leads view.

Microsoft Dynamics CRM Basics for Sales Professionals - Importing Leads and Contacts 1

If you couldn’t see or access the buttons from the Leads view, navigate to Settings and from there, Data Management, and Templates for Import. You’ll find templates for Leads and Contacts, in addition to templates for any number of other records.

Microsoft Dynamics CRM Basics for Sales Professionals - Importing Leads and Contacts 2

Populating and Formatting Your List

Choose the Lead template and it will download in Excel format. Open it up and you’ll see a spreadsheet with column headings conforming to the standard fields in a Lead record. I couldn’t fit all 41 columns in one slide so I typed them all into a text box in the center of the slide. If your Lead list doesn’t include data for all the standard fields or your list has more fields than are listed, there are ways to deal with it. You can just bring in the data fields you need to do the job. For instance, if you’re running a nurture campaign that consists of an email and a follow up phone call, maybe all you need is first name, last name, phone number and email address.

Microsoft Dynamics CRM Basics for Sales Professionals - Importing Leads and Contacts 3

Adding Columns to Your Import 

Keeping with this idea, I populated the template with the Lead data I need in order to run my campaign. I mentioned the idea of adding fields that are important to have in CRM. Look at the first column in this import template. Notice each cell is labeled Nurture. I want the ability to create a marketing list consisting of just these leads once they are imported, so Nurture is my unique topic that I can search on later to pull the correct Leads for the campaign. Look at the last column. I want salesperson Spencer Low to be in charge of all these leads so he is listed as the owner. This is data that I entered into the template manually so that the leads would automatically be assigned to Spencer. Save it in CSV format.

Using the Data Import Tool

Click on import data button from your Leads system view of from inside Settings. Now I’m going to choose the file I just created and saved in CSV format.

Microsoft Dynamics CRM Basics for Sales Professionals - Importing Leads and Contacts 5

Click next.

We’re using the CRM template so we’ll use the default mapping.

Microsoft Dynamics CRM Basics for Sales Professionals - Importing Leads and Contacts 7

Map record type to Lead.

Microsoft Dynamics CRM Basics for Sales Professionals - Importing Leads and Contacts 8

If there’s some problem mapping your data to the corresponding field in CRM, you’ll be alerted here. We look good so we’ll click next.

Microsoft Dynamics CRM Basics for Sales Professionals - Importing Leads and Contacts 9

This screen confirms that everything looks good.

Microsoft Dynamics CRM Basics for Sales Professionals - Importing Leads and Contacts 10

You can prevent or allow duplicates in the dialog box on the top. You also have the ability to save the mapping of your template for later imports. If you’re using something other than the template CRM provides, and using it on a regular basis, you can name and save the data map for the future.

Microsoft Dynamics CRM Basics for Sales Professionals - Importing Leads and Contacts 11

Checking the Work

The import tool has done its job and you can see the 2 leads are in the system and showing as owned by Spencer Low. Let’s open one up and see what we have.

Microsoft Dynamics CRM Basics for Sales Professionals - Importing Leads and Contacts 12

All the fields that we populated in the template are populated in the Lead record. Now we can create the marketing list, send out the email blast, follow up on the phone and move this lead along the customer journey.

Microsoft Dynamics CRM Basics for Sales Professionals - Importing Leads and Contacts 13















Dynamics 365 F/O – Financial Negative Inventory…

Excluding the Retail Implementations; the one setup that usually generates the same exact scenario in most projects is the ‘Financial Negative Inventory’ check box on the item model group.

The basic scenario here is to have purchased some goods that have been delivered to our company, received into the ERP system but we have not received an AP invoice for just yet.

Now a customer calls and needs an urgent delivery of this item. The system shows it as available physical, so the warehouse will go ahead and try to process the sales order. The system will allow it to be picked, packed and shipped. But when the AR department tries to generate the invoice, here is the error message that will pop up:

So we got ourselves in a situation where we have shipped the goods but cannot invoice the customer for it until we receive the AP invoice. Less than ideal – and when this is explained, accounting/controller usually agrees.

The same will happen if the product needs to be consumed into a production order – system will allow picking list to be posted and production order to be reported as finished, but the very same error message will appear before we could end the production order (financially finalize).

Then if we take it a step further from here, we now have physically available product we have manufactured and the above scenario with a sales order will come into effect again – we can ship this product out to the customer, but we won’t be able to invoice until:

  1. the AP invoice for the raw material/material is received
  2. the production order then is ended.

Another situation that I usually like to demonstrate is the quarantine process. Although some companies might be ok working with the above mentioned restrictions on their sales invoicing and production, what happens when you have physically available inventory that you need to quarantine for some reason? To make sure it is not being used or sold and also to make sure it is not showing as available in the system and mess up MRP runs, etc. Unfortunately, the financial negative inventory check box has an impact on the quarantine orders as well.

You can put the goods on a quarantine order, you can start the quarantine order, but when the inspection is done, you are only able to report as finished. When trying to scrap or end the order:


At the end of the day, most companies would not benefit from restricting financial negative inventory, on the contrary it would cause headache and difficulty on an everyday basis. As long as the company restricts the physical negative inventory, that would allow sales/consumption of what is not physically available (making a mess of any weighted average inventory calculation if that is what you are using), allowing financial negative inventory will allow the company to freely transact with items that have been physically made available for them.

Note: Allowing negative physical inventory might be useful in high paced retail environments only.


Dynamics 365 – Vendor Consignment

Dynamics 365 has announced the capability to perform integration of Vendor Consignment.  Many existing AX Users have pieced together their own version of Vendor Consignment using both AX and homegrown solutions.  Included in the release, are screen shots of what consignment will look like.   We did speak with a few representatives from Microsoft, and there will be more releases that will enhance the consignment functionality in Dynamics 365.  To see this functionality you will need the latest release of Dynamics 365.

From the screen shot listed below (pulled from the website reference I listed above) You can see that there will be Inventory Ownership change journals that show who the inventory belongs to; either the organization or the vendor.  This will improve inventory reconciliation.  There may not be a need to maintain vendor warehouses in your company anymore, instead you will set up a consignment warehouse.

Inventory Ownership Change Journal

Setting up these change journals will occur in the Inventory Management module.  The setup of the new warehouse will also be done in inventory setup.    You will also soon see a new flag under tracking dimension groups called “owner.”



Purchasing, Receiving, and Production will be easily handled with the new functionality.


How to upload your Own Database in Dynamics 365 FO…

This blog will demonstrate the export of data with the help of advanced feature namely Change Tracking. Change Tracking is a feature helps us to push only the modified data from the tables that are part of the chosen entity. We have three options to utilize this feature namely Enable Primary table, Enable Entire entity and Enable custom query and here I will export the data from vendor group entity using the first option.

Navigate to the entity publish page

Data management workspace > Configure entity export to database > Publish button) and select Vendor groups entity. Select Change Tracking on the toolbar and select Enable Primary table option

On selecting this option, we can examine the Change tracking field for vendor groups entity changed to Primary Table.

Now tracking is enabled on the primary table i.e Vendor group. So, will update the description field value of vendor group 60.

Before update: Description field value is “Added vendor”(colored in red).

After update: Description field value is updated to “Added vendor updated”(colored in red).

Will trigger the data project that will export the vendor group data through BYOD from D365FO.The expected behavior is to process only one record that is been updated and execution summary confirms the same.

Now we need to confirm that the updated record is exported. So, queried staging table in the target database and description value of vendor group 60 is updated to “Added vendor updated”.

Change tracking can also be disabled on the desired entity if we feel we no longer need change tracking. Under change tracking select Disable Change Tracking option to disable it. I have selected vendor groups entity to disable the tracking.

Once we disable change tracking then we get an info message stating “Change tracking has been disabled successfully for the entity: Vendor groups”.

Thus, we enabled change tracking, tracked the change and disabled it after usage.




Transfer security configurations into Dynamics 365 environments…

Dynamics 365

This episode will tell you guys how to rename newly created security objects as the Security configuration form is not supporting this.

Type of security changes

It is possible to do changes related to the security in several ways:

  • Development in Visual Studio
  • Configuration on runtime
  • Combination of the two above.

There is a slight difference in Dynamics 365 compared to Dynamics AX 2012 for managing the security. In AX 2012, all security changes ended as security objects in the Application Object Tree (AOT). So, using several code deployment options, the changes were applied on e.g. the production environment. Development changes in Dynamics 365 needs to be treated similar. Using a deployable package, you can move the objects to a live system.

New in Dynamics 365 is the configuration on runtime. Changes are kept in the database and when publishing the security changes, objects are changes on runtime only. There is no link with the development environment. This does not mean that you would change the security configuration on your production environment directly. Changes needs to be tested first. As there might be a lot of changes which needs several test cycles and reconfigurations, the logging will be dirty and not very readable if there are too many changes. So, like other developments, it is recommended to start in a dev/test environment. The production environment will only get a cumulative, approved security configuration which is logged only once.

Move the security changes

When you have changes in security configuration which needs to be moved to another environment, you can simply use action buttons on the security configuration form. I will show the steps in detail.

To start with, I created a new security role: The Sales Assistant. This person is able to view customer details and allowed to maintain sales orders. When this role is tested and working as expected, we want to move it to another environment.

Move Security

To do so: Click Data > Export. The security changes will be exported in XML format which can be downloaded. You can store the configuration file within an own library.

Now you can open another environment where you can import the security configuration. Open the Security configuration form. Then click Data > Import. You will be prompted to specify a file name. The file you just saved would be the one which needs to be provided. Then click on OK.

The file will be processed and the changes will be visible on the form. On the Unpublished objects tab page, you will find all modifications.

Move Security

In this case, I used standard duties. If there were more changes, you could see more objects and object types. Note that exporting the security configurations will export all configurations; not only the one you are focusing on. To be able to have the imported configuration active, you have to Publish all or select one or more records and Publish selected.

Renaming security objects

When you have made a mistake in typing a friendly name for a new security role, duty or privilege, there is an option to create a new object and use the correct name or spelling. However, if you are live, the references are based on internal ID’s. There is no option within the security configuration form to change the name once the object was created.

There is one simple trick which I tried once and this is working like a charm.

As described above, you can export the security settings and save the file on your computer. Then use an (XML) editor to open the file. When you don’t have such software, you can even use Notepad.

Move Security

Note that the name of the role is a GUID ID. This ID is the primary key for letting the import know if a new role should be created or an existing one should be modified. All newly configured security objects do have such GUID where objects created in Visual Studio would have a readable object name.

When you have saved the file, you can import the file and publish the changes to correct the name(s).