Home » Articles posted by Sivakumar Venkataraman

Author Archives: Sivakumar Venkataraman

Fixed – Unable to import CSV file due to error The source data is not in the required format in Dynamics 365

We had a business requirement to “Create” entity records in bulk using OOB “Import Data” feature of Dynamics 365.

While doing so, we were experiencing an issue while importing data in Dynamics 365, the error we were getting was “The source data is not in the required format”

We were importing the data as CSV file. Let’s say, we have one entity named “Referral” in CRM and we need to create multiple “Referral” records after importing CSV file.

As you can see in below table, CSV data needs to be mapped with “Referral” record field in CRM as below:

Unable to import CSV file due to error The source data is not in the required format in Dynamics 365

Now to import the CSV file in Dynamics 365, perform these steps – Navigate to Setting→Data Management→Import→Click on Import Data→ and then choose the file

We were experiencing failures while processing some of the data present in the CSV file, when we were trying to import CSV file with above data into Dynamics 365 containing “Date” and “Single Line of Text” data type. CRM was giving the OOB error “The source data is not in the required format” and hence, failed few of the records specifically for Date fields while processing.

As shown in below screenshot “Referred Date” was failed, as it was the date field with a format (MM/DD/YYYY) in CRM but while importing through CSV file the date format used was (DD/MM/YYYY).

Unable to import CSV file due to error The source data is not in the required format in Dynamics 365

We were not sure why this was happening, so to explore it further we did below:

We navigated to àOptionsàFormats for checking the current format for Date.

Unable to import CSV file due to error The source data is not in the required format in Dynamics 365

And found that Current Format in CRM selected was  English (United States)  as shown below:

Unable to import CSV file due to error The source data is not in the required format in Dynamics 365

When we continued exploring, we found that there was a discrepancy in the date format (DD/MM/YYYY) passed in CSV file and date fields format (MM/DD/YYYY) present in CRM. And hence while processing through OOB import functionality it failed with the description “The source data is not in the required format”.

It was happening, because in the US they follow MM/DD/YYYY format for date where as in UK they follow DD/MM/YYYY format. And in our case source system was the UK and target system was US due which we were getting that OOB error while processing the data with date field such as one which is processed above 30/01/2018, as there are no 30 months in the year.

Also, we noticed while importing, there were few data with date field which were processed successfully in excel like with date 12/01/2018. (Because there are 12 Months in a year)

We were able to get rid of this failure, just by one step as below:

Navigate to→Options→Formats→Select the Current Format as English (United Kingdom)

Unable to import CSV file due to error The source data is not in the required format in Dynamics 365

And it did work.  We were able to import the CSV file. Without any failure.

Note: while using OOB importing functionality make sure that “Source” and “Target” date formats are same. Because if “Source” system format is different than “Target” then system will not allow to do so instead it will throw an error.

Easily Export Dynamics 365 Reports in PDF, Word, or Excel

from Microsoft Dynamics 365(CRM) Tips and Tricks http://bit.ly/2C8HMI9

Inogic Dynamics 365 CRM Apps now compatible with v9.0 – Have you checked them lately?

We have been exploring the cool new Dynamics 365 v9.0 quite a lot in the recent times. And quite often this question has been asked so a blog would be the perfect place to announce that yes your favorite Inogic Dynamics CRM apps are now compatible with the new Dynamics 365 CRM v9.0.

Have you checked them lately? We have been adding quite a lot of new user friendly features and trying to be a little more extra productive each time.

Maplytics™ – Locational Intelligence Simplified:

We have had two major releases last year in Jan 2017 and August 2017 and started the new year with a new Jan 2018 release.  With the Jan 2018 release, our core focus was to utilize the Unified Interface framework and the capabilities it opened up for mobile and tablet client. And we are happy to announce that Maplytics, your favorite Maps Integration with Dynamics CRM now supports the cool new Dynamics 365 v9 and also works within its new mobile and tablet app.

Download latest version of your free trial for Dynamics 365 Customer Engagement v9.0 today from our website or Microsoft AppSource!

InoLink – QuickBooks & Dynamics 365 Integration:

InoLink is a bi-directional integration solution that seamlessly integrates Microsoft Dynamics 365 Customer Engagement/CRM and Intuit QuickBooks. And gives 360 degree view of complete Customer Accounting details within Dynamics CRM. Avoid data duplication by linking existing Accounts/Contacts/Products in Dynamics CRM & QuickBooks

To try InoLink with your Dynamics 365 v9.0 Download 15 days free trial from our website!

Click2Clone – Copy Dynamics 365 records in a single click:

Click2Clone is a productivity add-on for Dynamics 365 Customer Engagement/CRM that helps you to clone records in just one click. With the recent release of Click2Clone, we have tried to make it even more powerful with the new features like; Hierarchical Relationship Cloning, Cloning Dynamics CRM records using Workflows, Prefix & Suffix configuration for cloned Dynamics CRM records.

Get your free trial of Click2Clone today and experience the power of automation within Dynamics 365!

Click2Export – Export & email Dynamics 365 reports in a single click:

Click2Export is a productivity add-on for Dynamics 365 that helps you export Dynamics 365/CRM reports to widely used file formats like PDF, Excel or Word in a single click and further attach to an email or note.

To give it a try download a free trial from our website or Microsoft AppSource.

User Adoption Monitor – Monitor user adoption of Dynamics 365:

User Adoption Monitor is a productivity add-on designed to improve the user adoption of Dynamics 365 by tracking and reviewing the actions performed by users in Dynamics CRM. We have recently added a small feature in User Adoption monitor which enables manager to track CRM Access of user by tracking various web activities performed by them in the CRM manually.

To try User Adoption Monitor with your Dynamics 365 v9.0 Download 15 days free trial from our website or try form AppSource!

We always like to work on newer technologies so whenever you need us for anything in Dynamics CRM be it integration, migration or development. We are an email away at crm@inogic.com.

We have already locked our calendars and would be exhibiting at Summit EMEA (Find us at Booth # H2) at Dublin, Ireland and CRM UG Summit at Phoenix ! We look forward to meet you in person there!

from Microsoft Dynamics 365(CRM) Tips and Tricks http://bit.ly/2CvstVS

Resolve Date and Time difference issue between Scheduled Board and Bookable Resource Booking Record

Numerous features are available for Dynamics 365 Field Service. Let’s review about the small feature of schedule board in Field Service.

Schedule board enables to view work orders by field agents, so it is necessary that the work order scheduled date and time should be correctly viewed to avoid confusion both in Bookable resource Booking record and Schedule board.

Consider the below scenario of scheduling a work order as follows.

In Personal options settings, time zone is set as Pacific Time (US & Canada) Time zone as follows:

Scheduler Settings in Schedule Board

Now navigate to schedule board.

Schedule work order “00019” for date “2/16/2018” which has start time as 6.00 AM and end time as 7.00 AM as follows:

Scheduler Settings in Schedule Board

Open the same Bookable Resource Booking record, but as shown in below screenshot the time differs than what we have scheduled. The date shown is “2/16/2018” and the time is “4.00 AM to 5.00 AM”.

Scheduler Settings in Schedule Board

Well this timezone difference has occurred because we missed a small but important setting in schedule board.

In personal options setting we had set the CRM time zone as Pacific Time (US & Canada), but if you see there is a small setting in schedule board as well where we need to set the timezone. Lets see where this setting exists in schedule board.

For this, navigate to Schedule Board -> Scheduler Settings.

Scheduler Settings in Schedule Board

After clicking on scheduler settings you can see the Time Zone to select. Previously it was Central Time (US & Canada) that’s why there was a time difference in schedule board and bookable resource booking record.

Now we have set the schedule board time zone same as CRM i.e. Pacific Time (US & Canada)

Scheduler Settings in Schedule Board

Schedule the same work order again for “2/16/2018” which has start time as “6.00 AM” and end time as “7.00 AM”.

Open the Bookable Resource Booking record, the record open as below

Scheduler Settings in Schedule Board

Here, the booking for work order “00019” was scheduled for “2/16/2018” having time as “6.00 AM – 7.00 AM”. Hence on the bookable resource booking record, the time scheduled for work order “00019” is same.

Conclusion: In order to avoid the date and time difference between the Scheduled board and bookable resource booking, we have to keep the time zone of schedule board same as that of CRM.

Microsoft Dynamics CRM and QuickBooks Integration

from Microsoft Dynamics 365(CRM) Tips and Tricks http://bit.ly/2syJwXk

Deep Clone your choice of child records along with parent records in Dynamics 365 CRM

For a long time, there is an unavoidable need of creating multiple repetitive records with the same data in all types of businesses. Usually, Dynamics 365 users do it programmatically or manually. But both processes prove to be time-consuming as well as inefficient for creating these accurate records. Thus ending up spending productive time in cloning/copying records.

This is when a productivity App like Click2Clone comes to rescue. Click2Clone helps to clone Dynamics CRM record particularly when there is a requirement of huge amount of repetitive data entry. See Click2Clone in action here.

After the first release of Click2Clone, we received lot of inquiries regarding a common trouble that was faced by many Dynamics CRM users. It is cloning related entities for required entity of which they want to create a new record. Doing it manually would not only be spending valuable time but also hamper speed and productivity of business process. Problem is the complexity of cloning child records along with the parent record of selected entity in Dynamics 365 CRM.

With the latest release of Click2Clone we have tried to simplify this process! With Click2Clone now it’s possible to select your choice of Child records to copy along with the parent records and that too in a single click.

Suppose, there is a need of cloning multiple opportunities along with an opportunity line item i.e. products present on those opportunities for a required account in your Dynamics CRM. So, in this case you can perform this task just on one click of click2clone button for that account.

Also, Fields and child records of the parent record that you want to clone in your new record can be selected according to your preferences in the template created for that entity.

Consider an example of accounts > opportunity > opportunity line for deep cloning.

Let’s have a look here below and understand Hierarchical Relationship Cloning process:

For example, Account Reliable Mart is considered here with opportunity Interested in Office-Items having Scale as a product line items.

Below screenshot shows an original account record having one to many relationships with opportunity:

Clone Dynamics CRM Records

All you have to do is just click on Click2Clone button present on ribbon bar of record form.

Clone Child Records Dynamics CRM

Copy of cloned record along with the child records will be displayed on same window screen as shown below in screenshot.

Copy quote Dynamics CRM

Open opportunity to see the cloned copy. You can see that along with an opportunity the products i.e. opportunity line item too is getting cloned here.

Dynamics CRM Clone Record

Click2Clone copies existing Dynamics CRM records along with the child records and carries over related records supporting 1: N and N: N relationships in just a single click allowing you to stay ahead of your deadline.

Get your free trial of Click2Clone today from our website or Microsoft AppSource and experience the power of automation within Dynamics 365!

from Microsoft Dynamics 365(CRM) Tips and Tricks http://bit.ly/2EkBsin

Track Parent Email using Parent Activity ID Field on Email Entity in Dynamics 365


Email in Microsoft Dynamics 365 is one of the widely use feature to achieve the conversation with the customer as well as to keep track of the conversation happened with internal users.

Recently, we had a business requirement, where the user wants to pull some details from initial mail in replied email record.

Below is the scenario client wants to achieve:

Let’s assume we sent a below email “CRM: 005009”:

Track Parent Email using Parent Activity ID Field on Email Entity in Dynamics 365

And wants to reply on the same email, so we clicked on “REPLY ALL” OR “REPLY” button. Now below email record would be created i.e. RE: CRM: 0005009”

Track Parent Email using Parent Activity ID Field on Email Entity in Dynamics 365

Here now we want to pull the Initial “CRM: 0005009” emails Queue Name in the replied email “RE: CRM: 0005009”.

So to track the initial email we looked into the field structure of “Email” entity and noticed the “Parent Activity Id” field which is a type of Email lookup and it has the Referential type of relationship with email entity.

So, we ran a query in advanced find to check the difference between both email records. As you can see in the below screenshot, there is look up of initial email “CRM: 0005009” is set on replied email “RE: CRM: 0005009” by using this field we can pull the details of initial email and set in the replied email.

Track Parent Email using Parent Activity ID Field on Email Entity in Dynamics 365

Below is the Referential relationship structure of Email entity for field Parent Activity Id”:

Track Parent Email using Parent Activity ID Field on Email Entity in Dynamics 365


In replied emails, the Parent Activity Id field store the parent or initial email lookup which is useful to track parent email.

Hope this helps.

from Microsoft Dynamics 365(CRM) Tips and Tricks http://bit.ly/2Eg8aBu

Migrating Dynamic 365 v9.0 Multi Select Option Set Field Data using SSIS


Microsoft Dynamics 365 v9.0 brings some of the most awaited features and enhancements. One of the important feature introduced in Dynamics v9.0 is Multi Select Option Set. Prior to Dynamics 365 v9, there was no provision to use multi-select option set field. Our this blog explains how data import works for multi-select option set field.

In this blog, we will see Migrating Dynamic 365 Multi Select Option Set Field data using SSIS.

Migrating Dynamic 365 Multi Select Option Set Field data:

SSIS Toolkit from our friends at KingswaySoft has always been our preferred tool for data migration and in the latest release, the team has introduced v9.1 of SSIS Integration Toolkit for Microsoft Dynamics 365.

Below are the steps to migrate the Multi Select Option set field value:

For example, consider a Multi Select option set field i.e. Select Choices (new_selectchoices)

  1. Create Connection Manager for Source and Destination CRM.
  2. Map the MultiSelect option set field in the Destination as given in below screenshot.multi-select-optionset-migration1
  3. If you want to change any options in the MultiSelect Option Set field for Destination CRM, then you need to follow the below steps :
  • Add an output column.multi-select-optionset-migration2
  •   Write custom code in a script as given below.
    private void SetMultiOptionSetValue(ref Input0Buffer Row)
            string functionName = "SetMultiOptionSetValue ";
            List<string> listSTR = new List<string>();
            string updatedString = string.Empty;
            string s = string.Empty;
              string selectChoicesByName = Row.newselectchoicesname;
                listSTR = selectChoicesByName.Split(';').ToList();
    //Note: you can use value instead of string also
                listSTR.Remove("Item 4");
                for (int i = 0; i < listSTR.Count; i++)
                    if (i == listSTR.Count - 1)
                        s += listSTR.ElementAt(i);
                    { s += listSTR.ElementAt(i) + ";"; }
                Row.opMultiSelect = s;
            catch (Exception ex)
                throw new Exception(functionName + ex.Message); ;

    We need to concatenate all the option’s values in a string separated by “;”, Here we are storing the option’s value in a string and assigning it to output column i.e. opMultiSelect.

    4. Map this output column to the Destination MultiSelect Option Set field.multi-select-optionset-migration3 


    In above example, we have mapped Multi Select Option Set field with the label. Like above user can map with the values also.

    Note: Please use the latest version of Kingswaysoft for above Migration.


    We can migrate Multi Select Option Set field from one environment to another using steps described above. If you are migrating Multi Select Option Set field from one environment to another using KingswaySoft SSIS toolkit for Dynamics 365 v9.0 then you need to map Multi Select Option Set field with label or value.

from Microsoft Dynamics 365(CRM) Tips and Tricks http://bit.ly/2BJ0uWL

Dynamics 365 v9.0: Xrm.WebApi – Operations Part – 2


In our previous blog, we have discussed about performing CURD operations Create, Update, Delete and Retrieve using Xrm.WebApi. In this blog, we will discuss Retrieve Multiple and Execute Actions.

Let’s explore about these operations one by one.

1. Retrieve Multiple: 

Retrieve multiple is used to retrieve more than one record from MS CRM. Suppose we want to retrieve all active contact from CRM then we will use the Retrieve multiple.

If we want to retrieve multiple records then use Xrm.WebApi.retrieveMultipleRecords

The parameters of this function are shown below.

  1. Entity logical name
  2. Odata Query (i.e. select and filter)
//this function is used to retrieve Account
function retrieveMultipleAccounts() {
    var queryOption = "";
    try {

        //create the query
        queryOption = "?$select=fullname,telephone1,preferredcontactmethodcode,createdon,_parentcustomerid_value,creditlimit&$filter=(statecode eq 0)";

        //execute the query and get the results
        Xrm.WebApi.retrieveMultipleRecords("contact", queryOption)
           .then(function (data) {
               .fail(function (error) {

    } catch (e) {

In retrieveContactSucess function loop through the records and get the values as shown below.

///retrieve success
function retrieveContactSuccess(results) {

    try {
        //get the values 
        $.each(results, function (index, data) {

            var fullname = data["fullname"];

            var customerGuid = data["_parentcustomerid_value"];
            var customerName = data["_parentcustomerid_value@OData.Community.Display.V1.FormattedValue"];
            var customerEntityLogicalName = data["_parentcustomerid_value@Microsoft.Dynamics.CRM.lookuplogicalname"];

            var creditLimit = data["creditlimit@OData.Community.Display.V1.FormattedValue"];

            var createdonFormattedValue = data["createdon@OData.Community.Display.V1.FormattedValue"]; // gives date in following format 2017-09-30T21:10:19Z

            var createdon = data["createdon"]; // gives date in following format 10/1/2017 2:40 AM

            var preferredConMethod = data["preferredcontactmethodcode@OData.Community.Display.V1.FormattedValue"];
    } catch (e) {

If you have more than 5000 records than used data.nextLink. And if the response has value data.nextLink then used it to retrieve next set of records.

2. Execute Action: 

There are predefined Actions defined in Dynamics CRM 2016 that can be executed using Web API. On the following link will find the list of Web API actions. https://msdn.microsoft.com/en-in/library/mt607829.aspx

There are three types of Action as listed below.

Unbound actions: It is not bound to any specific entity. i.e the first parameter to such actions does not include the entity. E.g. WinOpportunity, CancelContract etc

Bound actions: It is bound to a specific entity. i.e the first parameter to such actions does not include the entity. e.g. – AddToQueue Action

Custom action: It is custom actions developed by developers using Processes.

Now we will discuss about Qualify request. Suppose you want to qualify request programmatically then we will use Qualify request. Web API provides QualifyLead Action.

In our blog, we have explained QualifyLead using WebApi. Now we will see how we can do the same using inbuilt Xrm.WebApi.

To execute action use Xrm.WebApi.execute.

//This function is used to qualify lead
function qualifyLead() {
    var saleOrderID = null;
    var columnsSet = null;
    var salesOrderToInvoiceReq = null;
    var leadId = "E5975EA3-531C-E511-80D8-3863BB3CE2C8";
    var qualifyLeadReq = "";
    try {

        qualifyLeadReq = {
            entity: {
                id: leadId,
                entityType: "lead"
            CreateAccount: true,
            CreateContact: true,
            CreateOpportunity: true,
            Status: 3,
            getMetadata: function () {
                var metadata = {
                    boundParameter: "entity",
                    parameterTypes: {
                        "entity": {
                            "typeName": "Microsoft.Dynamics.CRM.lead",
                            "structuralProperty": 5
                        "CreateAccount": {
                            "typeName": "Edm.Int32",
                            "structuralProperty": 1
                        "CreateContact": {
                            "typeName": "Edm.Int32",
                            "structuralProperty": 1
                        "CreateOpportunity": {
                            "typeName": "Edm.Int32",
                            "structuralProperty": 1
                        "Status": {
                            "typeName": "Edm.Int32",
                            "structuralProperty": 1
                    operationName: "QualifyLead",
                    operationType: 0

                return metadata;

            .then(function (result) {
            .fail(function (error) {
                var message = error.message;
                //Add handling of error that occurred
  } catch (e) {



Using Xrm.WebApi in Dynamics 365 v9.0, it is easy to perform CURD operation without performing AJAX request or creating own library or using third party libraries.

Easily Export and Email Dynamics 365 Reports in PDF, Word, or Excel

from Microsoft Dynamics 365(CRM) Tips and Tricks http://bit.ly/2GQCX5l

%d bloggers like this: