Wouter van Rij, Dynamics CRM consultant: “WaveXtend Data Manipulation Framework assisted me in providing a robust CRM solution for the customer”.

Thursday, February 19, 2015

I’d like to talk to you about the challenges I face when implementing Dynamics CRM for my customers. Over the years I’ve never come across a customer that wants an out-of-the-box configuration and this means customizations. Customization using the standard Dynamics CRM capabilities are pretty powerful, but at one point you’ll have to resort to building custom business logic in a plug-in, form logic or custom workflow activity. Obviously, adding custom business logic adds complexity in a CRM deployment and will require one or more engineers to create and maintain the code. This brings me to my main challenge; balancing standard features and customization capabilities with custom development.

Last year, one of the projects I was involved in, a new CRM 2011 implementation, required a migration from NAV 2009 to CRM 2011. The customer found that their 3rd party CRM extensions used in NAV 2009 were discontinued and no suitable replacement could be found. Therefore, the choice was made to implement Dynamics CRM 2011 for their customer centric processes. Dynamics NAV 2013 was chosen for their financial processes. Finally our customer, a charitable foundation, demanded we used 3rd party ISV solutions as much as we could, instead of customization.

The customer wanted to approach their contributors using the communication channels they preferred. As they also provided magazine subscriptions, with regular editions, they required them to be managed from CRM.

Although migrating all the data was already a large piece of work, we also had to automate a lot of business and form logic. We knew that building all of it couldn’t work, because it wouldn’t be manageable after going into production. We decided using the WaveXtend solution Data Manipulation Framework to automate both the migration, business and form logic. This was the only 3rd party solution to accomplish all required tasks. During implementation we found more requirements that we could fulfill with Data Manipulation Framework.

The data migration required a lot of different types of data to be migrated. We decided to migrate the data without relationships. To relate the records we built calculated attributes to find the related records and update them accordingly. This meant we didn’t have to worry about building complex data transformations, but could configure calculated attributes to perform these tasks. Although they only ran during migrations, the capability to trigger the calculated attributes using a schema provided us with the possibility of migrating multiple times and only changing the newly updated or imported data. Issues that were discovered during testing could be fixed in the calculated attributes, making the turnaround time quicker.

A great feature of Data Manipulation Framework is the capability to create calculated attributes that are triggered on the form. The main challenges we were asked to solve were:

- provide information about the average contribution and marketing campaign effectiveness

- provide automated pricing calculations for subscriptions

- manage automated invoicing and order fulfillment

How did we meet the challenges?

Provide information about contributions

To provide information about contributions we required the information about all transactions to roll-up to the contributors. Once this was implemented, it was possible to provide averages per contributor, totals and forecasted contributions. In order to have as little impact during the day, these calculations were planned to run at night on a daily basis. This allowed the customer to accurately plan for future campaigns and support programs, using near-time data at their disposal.

Provide automated calculations

When subscribers purchase a new subscription or renew an existing one it’s managed in CRM 2011. The requirement dictated that the user didn’t have to calculate their subscriptions manually, but have the implementation take care of this. As there are different editions per year, the customer wanted they option to set the price per edition and calculate the total amount based on the amount per edition. Several calculated attributes were developed to handle the calculations. They were automatically triggered when the user changed the amount of editions. As these were deployed on the form, the changes were immediately brought to the attention of the user. Pricing discounts were automatically taken into account when calculating the total amount of the subscription.

Manage invoicing and order fulfilment

Each edition required that the shipping partner received a specified list of subscribers and products to be delivered. Calculated attributes were used, in combination with custom business logic to create, update and prepare the orders for sending. The calculated attributes provided assistance with the product pricing and preparing the information required on the orders and invoices.


“WaveXtend Data Manipulation Framework assisted me in providing a robust CRM solution for the customer. It did it in a way that satisfied and, in my opinion, exceeded the requirements set by the customer. It also provided a solution to the biggest challenge; it balanced out-of-the-box functionality with a supported 3rd party application that is easy to configure. And that is something both me and the customer have benefitted greatly”.

Wouter van Rij, Extense Consulting


Latest news feed: WaveXtend RSS Newsfeed