Saturday, December 28, 2013

Using GIMP and the Iconator for CRM Icons

A while ago I talked about creating icons for Dynamics CRM for CRM 4 and 2011. I thought it was time for an update and some tips on creating those metro-like icons.

Tanguy’s Toolbox

Tanguy Touzard, CRM MVP and tool-maker extraordinaire has a toolbox which any developer or administrator should not be without. Here it is and it makes a whole series of common tasks so much easier. The one that is useful for icons is the Iconator.


Using the Iconator we can get our entities from our organization, see which ones need icons, click the ‘Add Images’ button at add our 16x16 and 32x32 images and then map them to our entities.


The Iconator takes care of creating our web resources for us, publish our changes and even allows us to automatically add the web resources to a pre-existing solution in our organization.

Use it and if it saves you a bit of time, feel free to click the Donate button and keep Tanguy in croissants and champagne.

Creating the Images With GIMP

GIMP (GNU Image Manipulation Program) is an open source image editor comparable to Photoshop and much cheaper (it is free). Here is the link to download it.

Once loaded, you can manipulate images like a pro, once you get used to it.

An Example of Making an Icon

Let us take a picture and convert it into a couple of CRM icons. There are plenty you can get inspiration from on the internet but, to avoid any copyright entanglements, I will use one of my own.


This was a photo I took at the EMP Museum in Seattle where you stand in silhouette and the screen adds horns and tentacles to you. I caught this image before it did me too much damage.

Loading it into GIMP, the first thing I want to do is eliminate the color. I can do this one of two ways; either by selecting Image – Mode – Grayscale or Colors – Hue-Saturation and put the Saturation down to 0. If GIMP complains that you can only adjust RGB images, this is set as part of the Image – Mode settings.


Next I am going to make it black and white. This is done with the Colors – Brightness-Contrast settings. Contrast goes to max and Brightness, as required. Below, I simply put Contrast up to the maximum value.


Next I will isolate the part of the picture I want for my icons with the rectangular select. This is found as the first icon in the toolbox window of GIMP. Once selected, you pick Image – Crop To Selection. Do not worry if your selection is not perfectly square; we can fix this later.


Next we will want the background to be transparent. To do this, we go to Colors – Color to Alpha and hit OK. Our background is now transparent.


We can tweak, as required, possibly invert (Colors - Invert) and when happy we adjust the size. To do this we go to Image – Scale Image and make it 32x32 px. We may need to click on the chain to break the ratio and make it perfectly square.


When adjusted, you will have your first icon ready.


To save this, go to File – Export As and save it as a png (you specify the type by simply typing in the extension e.g. ‘leon.png’). Once done, go back to the image, rescale to 16x16 px and export again. You now have two images ready for CRM.


Using GIMP and these simple techniques, many icons can be created from simple, readily available images. Maximising the contrast will even eliminate gray watermarks if you have an image you can use with such an artefact on it. Once created, you can add these to CRM or any other program needing icons. Their simple, flat design are also compatible with Microsoft’s metro paradigm. Good luck and feel free to explore the many features GIMP offers.

Saturday, December 14, 2013

Microsoft: Giving it the Salesforce Treatment

Regular readers will know I run the Salesforce quarterly numbers to see how Dynamics CRM’s strongest competitor is travelling. I will occasionally get asked what the numbers for Microsoft are like, using the same filters. My response is usually that Microsoft release very little information about their Dynamics CRM business but we can review Microsoft as a whole (and the Microsoft Business Division to a smaller extent).

The Numbers

For Microsoft, we go to the Microsoft Investor Relations Annual Reports site. If there is anything specific on the Dynamics division (called Microsoft Business Division) or Dynamics CRM division, this is where we will find it. This also means the data is yearly, rather than quarterly, but trends will still be apparent. The numbers and information below, unless stated otherwise, comes from the 2013-2009 annual reports.

Here are the numbers for Microsoft as a whole (in millions):

  2009 2010 2011 2012 2013
Revenue 58,437 62,484 69,943 73,723 77,849
Revenue Cost 12,155 12,395 15,577 17,530 20,249
Operating Cost 27,205 25,991 27,205 34,430 30,836
Microsoft Income 14,569 18,760 23,150 16,978 21,863
Revenue Growth # yoy   4,047 7,459 3,780 4,126
Revenue Growth % yoy   7% 12% 5% 6%
Total Cost % yoy   -2% 11% 21% -2%
Staff 93,000 89,000 90,000 94,000 99,000
Staff Growth (yoy)   -4% 1% 4% 5%
Margin 25% 30% 33% 23% 28%

Points of note are:

  • While revenues are steadily growing, costs seem to jump around a bit, specifically operating costs
  • Revenue growth is consistently positive, although much smaller than Salesforce’s
  • Staff growth is also much smaller than Salesforce’s
  • Microsoft makes a profit. Margins are consistently around 20-30% compared to Salesforce whose margin sits around –10%

For the Microsoft Business Division, of which Dynamics CRM belongs, we have:

  2009 2010 2011 2012 2013
Revenue 19,211 19,525 22,407 24,082 24,738
Implied Cost 8,058 7,416 7,940 8,279 8,549
Operating Income 11,153 12,109 14,467 15,803 16,189
Revenue Growth # yoy   314 2,882 1,675 656
Revenue Growth % yoy   2% 15% 7% 3%
Total Cost % yoy   -8% 7% 4% 3%
Margin 58% 62% 65% 66% 65%

As the only numbers in the annual report refer to the Operating Income and Revenue, we imply the cost by working out the difference.

Points of note are:

  • Consistent revenue growth but, again, smaller than Salesforce’s
  • Costs appear to be reasonably fixed which means Operating Income keeps growing and growing
  • The margin for the Microsoft Business Division is 65%. That is huge by any measure

It should be noted that the Microsoft Business Division also includes the Office products so this is obviously going to skew the numbers given the size and ubiquity of the Office suite in the business world.

Earnings Call Buzzword Bingo

Steve Ballmer does not get involved with the earnings calls, leaving it up to Chris Suh, General Manager of Investor Relations and Amy Hood, the CFO.

The latest transcript gives us the following keywords.

  • Revenue (39 times)
  • Windows (25 times)
  • Surface (17 times)
  • Devices (17 times)
  • Office (16 times)
  • Cloud (16 times)
  • Customers (11 times)
  • xbox (11 times)

It is a pity customers do not get a higher mention given they are the main thing Marc talks about in his calls. Revenue is a common theme with the two companies though. Otherwise, the usual peppering of products and services is effectively the rest of the hits.

Insider and Institutional Sales

The results here surprised me. Microsoft executives like selling stock as much as Salesforce ones.

Over the last six months, Microsoft executives have offloaded about 5% of their stock, about ten times of their Salesforce counterparts. However, it is not hard to see where the majority of this is coming from. Almost the entire amount is Bill Gates offloading his shares to raise money for the Bill and Melinda Gates foundation.

It is true that Amy Hood has offloaded about $700,000 in shares in the past six months which is comparable to Salesforce’s CFO who has offloaded about $900,000 in shares over the same period.

Institutions are also selling but not a lot. Over the last six months, institutions sold 0.13% of their holdings.

In terms of long term ownership, after a bit of digging, I found the original 1986 prospectus for Microsoft. The original executive, and their post-prospectus ownership was:

  • William H. Gates III (44.8%)
  • Paul G. Allen (24.9%)
  • Steven A. Ballmer (6.8%)
  • Jon A. Shirley (1.4%)

Of these, Bill Gates and Steve Ballmer are the only ones remaining on the executive. From Yahoo, we know Bill owns 358 million Microsoft shares and there are 8.35B shares outstanding. Therefore his ownership is now about 4%. For Ballmer, the latest transaction I can find is from 2010. At that time he owned 333 million shares which compared to 8.668B shares. Therefore, at that time, Ballmer owned about 4% of the company as well.

So, like Salesforce, the two executives have reduced their ownership of the company they work for. Given Bill is selling for his charity and Steve has resigned this is not as surprising as Salesforce’s co-founders Marc and Parker but it means we cannot cast stones too strongly.

While the executives have been selling, Microsoft has been buying. In 2008, Microsoft announced a share repurchase plan, spending $40b on share repurchases over five years, which is now complete. Share repurchases are what companies do when they have lots of cash, not many places to spend it and their share price is cheap. It demonstrates Microsoft believe in their own business and feel this is the best investment they can make for their shareholders. There is no equivalent plan in place for Salesforce, as far as I know.


In terms of the financials, Microsoft is making a profit and has very healthy margins and is not using non-GAAP reporting to convert losses into profits. Costs seem to be in check and there is no evidence of deterioration of the numbers. Things are not growing as quickly as Salesforce but there is no reckoning coming in terms of reining the costs in, as with Salesforce.

In terms of the buzzwords, it seems the same things that concern Salesforce, also concern Microsoft i.e. customers, revenues and their products/services.

Finally, in terms of executive commitment to the company, while the people themselves are also leaving their baby, Microsoft believes their stock is cheap as evidenced by their repurchase plan. A cynical view of repurchase plans is the company is running out of ideas to invest in but when you have fifty times the current assets of Salesforce and only ten times larger, in terms of market capitalisation, it is feasible that Microsoft may have a few bundles of cash lying around to make use of to buy shares.

Wednesday, December 11, 2013

Salesforce: The Unloved Company

It is that time again when Salesforce put out their quarterly results and I try to find the gold amongst the dirt. The title will be explained when we look at historical ownership.

The Numbers

As usual, straight from the Salesforce web site. As with the last quarterly result, the detailed financial results on their web site are out of date, nine months out of date in fact. So here is the summary, combining the different quarterly reports.

  2013 Q3 2013 Q4 2014 Q1 2014 Q2 2014 Q3
Revenue 788,398 834,681 892,633 957,094 1,076,034
Subscription Revenue 740,600 785,495 842,221 902,844 1,004,476
Revenue Cost 186,248 183,362 208,994 217,717 268,187
Operating Cost 656,338 672,126 728,179 779,234 905,778
Salesforce Income -71,150 -20,844 -67,721 76,603 -124,434
Revenue Growth # yoy 204,138 202,768 197,166 225,445 287,636
Revenue Growth % yoy 35% 32% 28% 31% 36%
Total Cost % yoy 42% 34% 31% 34% 39%
Staff 9,319 9,801 10,283 12,571 12,770
Staff Growth (yoy) 34% 26% 23% 43% 37%
Margin -9.02% -2.50% -7.59% 8.00% -11.56%

NB: A miscalculation in the revenue growth at the time of original writing has now been adjusted in the table above. Related commentary below has been lined through.

Specific points of note include revenue has broken through the $1b/quarter barrier, catching up with costs (Revenue Cost + Operating Cost) which was there last quarter. In terms of profit, Salesforce has returned to old form. With no IRS check to offset the losses, Salesforce shows a $124m loss this quarter, double the loss of the first quarter and the largest quarterly loss in the history of the company, both as a raw number and as a percentage of sales (margin).

Revenue growth (as a percentage, year on year) is the lowest it has been in over three years.Cost growth, as can be seen above is the highest since this time last year.

Revenues and Costs

Revenues are always Marc’s ‘good news story’ with Salesforce and making sales of $1b per quarter is a huge achievement. The flipside, which rarely gets Marc’s voice, are the costs. The fact is costs are outgrowing revenues unabated. In terms of the difference between the year on year percentage growth, we are now looking at a 15% 3% difference (39% – 24%36%). This is the rate of acceleration Salesforce’s costs have over its revenues. If this was a car race, not only are both cars travelling at a furious pace, and getting faster, but the costs are sailing away into the distance with revenues struggling to keep up.

That 15% differential has not been seen since the bad old days of 2011 when costs were growing at around 50% year on year.

Salesforce’s Crystal Ball

In my last quarterly report, I mentioned that Salesforce had predicted how much they would lose in this quarter and the next, predicting a loss for the year of just over a quarter of a billion dollars. Salesforce predicted, for this quarter, a loss of $111m. Unfortunately, at just over $124m, the actual loss exceeded expectation. Therefore Salesforce is on track for meeting its predict target of a loss of $257m.


The margin is the difference between what you sell something for and what it cost you to produce. Salesforce continues to struggle with this one.


The ’Salesforce Income’ (margin) is the curve at the bottom. There are two things I do not like about this curve. Firstly, it is heading in the wrong direction. There was a time when Salesforce had profit AND growth, which is a formidable position. These days the growth is there but the profits have gone.

The second thing I do not like about it is the shape. The curve is becoming jagged instead of smooth. The last big bump is because of the IRS check but even removing this we are looking at a sawtooth rather than a steady trend. I see this and think of a tug of war between the drag of the business model and the reactive strategies of the business. For years, the business model was guiding margins on a steady, albeit undesirable, path. Now internal strategies are being used to pull the margins back into the right direction but, like a race car hitting a curve, it is resisting and wants to continue on its path.

The Salesforce apologists will argue the margin decline is not all bad and that profit is being sacrificed for continued growth. If this is the case, and this has always been the game plan, why did Salesforce spend all those years making a profit when they could have been gaining additional market share? This argument that it is ok to gain market share and not manage margin decline is one I do not buy.

Earnings Call Buzzword Bingo

Taking the quarterly transcript of CEO Marc Benioff and CFO Graham Smith we crunch the numbers to see what is on their mind compared to previous quarters.

Here is a the graph for the five most popular words.


The topics of ‘Customer/Customers’, ‘Revenue’ and ‘Cloud’ are, of course, mainstays of Marc and Graham’s speeches. ExactTarget is a recent acquisition, which explains the sudden appearance. ‘Platform’ is an interesting one and shows a shift in the Salesforce paradigm. The platform in this case is Salesforce One, their development platform for business applications. Do not watch the video; it is full of marketing hype and tells you nothing useful. Read the web page instead. You have been warned.

In terms of other terms on the rise or decline, here is the table.

  2013 Q3 2013 Q4 2014 Q1 2014 Q2 2014 Q3
Number of words 3000 3800 2800 3500 3700
Customers/Customer 21 40 32 40 39
Revenue 38 45 32 37 37
Cloud 20 22 16 23 31
ExactTarget 0 0 0 24 21
Platform 9 10 12 19 21
Service 9 16 12 14 19
Sales 9 8 9 14 16
Growth 17 17 13 12 14
Marketing 10 9 0 12 12
Cash 9 13 10 10 10
Mobile 7 0 16 11 7
Operating 0 0 9 9 7
Enterprise 7 15 0 6 7
Social 13 9 10 9 6
EPS 0 0 7 10 5

The one that stands out for me is ‘Social’. How the mighty have fallen. Once a foundation of the Salesforce strategy, the ‘Social Enterprise’ term has gone as a result of a backlash from the not-for-profit movements which coined the term well before Salesforce tried to trademark it. ‘Mobile’ is also interesting and it will be one I keep an eye on.

Google Trends

A milestone has been reached.


“Dynamics CRM” as a search term is now more popular than “”. I must admit I have been waiting for this day for quite a while. The significance of this is not straightforward to divine. There is some art to this science in that the search terms are subjective (what about ‘salesforce’ or ‘microsoft crm’, for example).

What I think is noteworthy is that the search trend for Salesforce is not aligned to their revenue growth. Perhaps this suggests significant new revenue is not coming from new business but expanding existing business. Perhaps it suggests people are finding out about Salesforce through new channels, outside of Google. I am not sure.

Insider and Institutional Sales

Again, using Yahoo, we see that insiders have sold 0.5% of their total holdings in Salesforce over the past six months. Institutions have sold off 2.75% of their shares over the same period.

In discussing this with fellow CRM MVP and stock trading wunderkind George Doubinski, he suggested the fact that insiders are selling is neither here nor there. To put it simply, people sell shares all the time for many reasons, which I have stated in the past. He suggested we examine the change in ownership over time.

Thankfully, we have the submissions to the SEC to give us the information. For example, here is the original prospectus for Salesforce, with the original share ownership. Here are the numbers for executives which owned more than 1%.

Executive Officers and Directors: Number of Shares Percentage Ownership Before the Prospectus Percentage Ownership Before the Prospectus
Marc Benioff 28,179,071 30.9 27.8
Parker Harris 2,520,507 2.8 2.5
Magdalena Yesil 2,089,165 2.3 2.1
David Moellenhoff 1,792,005 2 1.8
Jim Steele 1,350,000 1.5 1.3
Craig Ramsey 1,300,000 1.4 1.3
Steve Cakebread 1,000,000 1.1 1

Boards change and the only original members of the board, according to the Salesforce web site, are:

  • Marc Benioff
  • Parker Harris

So how has their ownership changed in the past ten years for these founders and true-believers?

Thanks to Yahoo, we know that the major shareholders are:

Holder Shares Reported
BENIOFF MARC 10,212,500 Dec 28, 2012
RAMSEY CRAIG 1,384,584 Nov 26, 2013
HARRIS PARKER 9,419 Nov 29, 2013
ROBERTSON SANFORD 172,800 Nov 26, 2013
HASSENFELD ALAN G 116,000 Nov 26, 2013

So Marc has gone from 28 million shares down to 10 million shares and Parker has gone from 2.5 million shares down to 9,000. How does this compare to the total number of shares? Well, we know that Marc’s holding of 28,179,071, at the time of the prospectus represented 27.8% of all shares. Therefore, maths tells us the total number of shares was around 101,363,564 (let’s call it 101 million).

Looking at the last annual report (before the recent 4:1 share split) we see that as of January 31, 2013 there were 147m shares outstanding. It is possible the values for all major shareholders, except Marc are in the new split shares but we will err on the side of caution and assume not.

Running the numbers, this means Marc Benioff has gone from being a 28% owner of the company in 2004 to being a 7% owner of the company (10,212,500/146,406,655) today. In the case of Parker Harris, he has gone from owning 2.5% of Salesforce to owning essentially no part of the company.

If Marc and the executive are so positive about Salesforce, why do they own so much less than they did when they floated the company? Why do many of the executive continue to sell their holdings on practically a daily basis? It is for this reason that I refer to Salesforce as unloved. For whatever reason the father(s) of Salesforce are abandoning their baby. This being said, I am sure Salesforce will never be an orphan. With Salesforce and Oracle building closer and closer ties, if Marc sets his baby free, there will be Larry Ellison with open arms to welcome it into the Oracle family.


As is often the case with the quarterly reports, I find myself writing the conclusion with mixed emotions. I like Salesforce and I like the competition is brings to the market. It brought innovation and life to a stagnating CRM industry and it pains me to see dark clouds on the horizon.

Regardless of how Salesforce juggle the numbers for their non-GAAP reporting, eventually the piper must be paid and a real profit must be made. I see no indication that Salesforce plan to do this in the near future and this concerns me greatly. Perhaps this new platform play, emphasizing the development tools over the SaaS offerings will be the key. It seems Salesforce is trying to be the appstore for business applications, which is an interesting play. If they get the adoption, this will make them formidable, in the same way that the sheer volumes of applications for Apple is a sustainable competitive advantage which the others struggle to assail.

The Google trends result is interesting. The graph clearly shows people are not asking about Salesforce via Google as much as they once did. This surprises me in that the revenue growth would suggest increasing popularity, not decreasing. Perhaps Salesforce will, once again, release subscription numbers in the future and we can see how this correlates to these seemingly contradictory results.

Finally, we have the result of the executives and their seemingly waning affection for their creation. Perhaps they are moving on to other things. Perhaps they really need the money. Again, whatever the reason my hope is Salesforce continues with or without their support.

Friday, November 29, 2013

A Codeless Rollup Field

I owe this tip to my fellow CRM partner-in-crime, Oakton Canberran Julie Stedman who discovered it on a project we are working on. It works for both CRM 2011 and CRM 2013.

The Problem

Often a client asks to roll up the number of child records to a parent record or, perhaps, roll them up and split them by status. An example may be enrolments for a course. On the course record we want to see the number of enrolments and whether the attendees have paid.

Traditionally, we add a field to the parent record and use a plugin to query CRM to populate the value in the field. However, there is another way.

The Solution

A little-known property of adding a sub-grid to a form is the ability to only show a chart instead. This means we can add a bar chart or pie chart to a record showing totals for the child records. Scroll down to the bottom on the sub-grid properties for the magic tickbox to ‘Show Chart Only’.


That is it. With this ticked, instead of a grid showing, you see a chart which represents whatever related data you desire. Here is an example where I have added the chart to a Case record to summarise the associated activities.


The only drawback with this is you cannot drill down into the chart but, for rollup totals, this is probably not the end of the world.


For a quick and elegant way to show rollup totals of child records on a parent record, consider this trick. You still have the power to configure the look and feel of the chart(s) and you avoid adding a bunch of fields and populating them via plugins which can be time-consuming and, therefore expensive.

Sunday, November 24, 2013

Review: Surface 2 32G (Why I Am Shocked How Good It Is)

I write this as I return to Sydney, Australia, after attending another great MVP Summit. Sometimes Summit can be frosty, depending on how the previous 12 months have been but this was not one of them. This was a ‘good’ summit and thoroughly enjoyable. In fact, it was probably the best I have attended.


One of the ‘thank you’s Microsoft threw the way of the MVPs at this Summit was a discounted Surface 2 32Gb. I have a Surface Pro and have done a few reviews on it. (here and here).

I did not see the need to get a machine that ran Windows RT, as opposed to a full version of Windows, but my wife needed a machine that was more portable than her large Dell laptop. After showing her the Surface 2 in a local electronics store, she agreed the Surface 2 would meet her needs.

I purchased the Surface 2 and, being tech support for the family, set it up under my account (I did not have my wife’s Windows login and password at the time) to see how it works.

My Fears

The original Surface RT was a clear play against the iPad; it ran an efficient non-Intel chip and ran apps rather than ‘standard’ Windows software. My thinking was I needed a ‘real’ laptop-like device and the Surface Pro fit the bill. As mentioned, in my previous review, the Surface Pro is more comparable to a MacBook Air than an iPad, based on its specifications and functionality.

Also, Windows RT will not run legacy software. I did not want to be in a position where I could not run an essential program (whatever that might be) so buying the Surface Pro was erring on the side of caution.

While it was not important to me, the non-Pro versions do not support a digitized stylus so they are limited in their use as, say, a drawing implement, without an external writing pad.

Finally, the original Surface RT had a lack of Outlook support. I live in Outlook and this was a deal breaker.

So, at the end of February, at the previous Summit, I opted for the biggest, most powerful, Surface Pro I could get, the Surface Pro 128. It did everything I needed and I still use it at home, work and in-between.

Why My Fears No Longer Apply

Every excuse I made not to buy the original Surface RT do not apply to the Surface 2. Here are the reasons I no longer want to give the Surface 2 to my wife and keep it for myself (which is never going to happen, by the way. She deserves the best and the Surface 2 comes pretty close).

Outlook Support

The Surface 2 comes with Microsoft Office for free, including Outlook. Often, when I told people the reason I do not have an iPad was a lack of Outlook support, they would tell me ‘but it has a mail app’, which, of course, it does, but Outlook is so much more than this. Outlook is a one-stop shop for my emails, calendar and RSS feeds. I can link to two Exchange boxes (my Office 365 Exchange and my work Exchange), send emails from either, consolidate my calendars and so much more. The mail and calendar apps of the iPad seem awkward and clumsy in comparison. I was fearful the Surface 2 version of Outlook was going to be a cut down, pale imitation, of the ‘proper’ Outlook but this is not the case.


Everything I need from Outlook is there, without compromise, with the default settings optimized for the Surface. The only thing I have not tried to install is TwInbox, which I use to bring Twitter into Outlook, but there are plenty of Twitter monitoring tools out there, if required.

Legacy Software Support

Here is a screenshot of my Surface Pro taskbar with the programs I most frequently use, roughly in order of popularity.


For all of these, I can either run them on the Surface 2, or work around the issue without too much compromise.

  • Internet Explorer: It is there and appears to have both flavours (Metro and Desktop)
  • File Explorer: Available
  • Firefox: I cannot find it in the store but, as long as Internet Explorer does not flake out, I will not need it
  • Chrome: See Firefox
  • Outlook: Available
  • Word: Available
  • OneNote: I have found the touch-optimised Metro version which connects seamlessly to my SkyDrive OneNote Notebooks
  • PowerPoint: Available
  • Excel: Available
  • Project: It does not appear to be available but I only use it for work, and infrequently, so it is not a show-stopper for me
  • Live Writer: Not available (see below)
  • Snipping Tool: Available
  • Calculator: Available
  • Skype: Metro version available
  • Tree Size: Metro version available
  • Remote Desktop Connection: Available
  • SureStep: Almost certainly not available as a download for RT, but is available online, which is good enough
  • Adobe PDF Reader: The Metro Reader app can display PDFs
  • Notepad: Available
  • Microsoft Money 94: Not available (see below)
  • Zune: Available through updates in Windows 8.1 apparently (not yet tested)

For Microsoft Money 94, while it does work on the Surface Pro (although if you try to tap with the stylus it crashes), it will not work with the Surface 2. I use Microsoft Money to keep track of some stocks that I own. It works really well for this but, being almost 20 years old, it is probably time to find an alternative. Looking at the options in the Microsoft Store, Yahoo Finance seems to be a good replacement and available for the Surface 2.

After two days of using the Surface 2, the only other program which caused me grief was a lack of Live Writer support. You cannot install Windows Essentials and, therefore, the excellent blog-writing tool, Live Writer is not available on the Surface 2.

Searching on the internet I could not find a solution to this until I dug around in the Surface 2’s version of Word 2013. Under the ‘Share’ option in the File menu is a ‘Post to Blog’ option which it claims, like Live Writer, supports Blogger, the home of my blog.


Unfortunately it turns out not to be true. I tried my hardest to register Word with Blogger but it refuses. I even created a new gmail account, added it as an author to my blog and tried that instead without success. Therefore I was forced to use Live Write on my Surface Pro to get the blog out of the door. Hopefully Microsoft will fix this bug but if not I either move to a different blog host or stick to my Surface Pro with Live Writer.

Hard Drive Size

The 32Gb solid state drive is quite a drop from my Surface Pro’s 128Gb drive and, after the operating system took its share, there was about 18Gb remaining. Fortunately, Windows 8.1 comes with its own version of Dropbox in the form of the integrated SkyDrive directory. Everything in your SkyDrive account is visible but you choose what is synchronised to the local drive. Therefore, the need to store local files is greatly reduced and anything that is put on the drive, such as photos through the camera, can be transferred to SkyDrive, freeing up the local drive.

After configuring Outlook, which is keeping a local copy of the previous month’s emails and appointments, I have about 14Gb spare.


As with my Surface Pro, there is also the MicroSD slot on the back of the machine if I need to boost the local storage.

Other Reasons to Consider a Surface

The first reason is the Microsoft Store customer service is outstanding. I reported, in my previous review, the dodgy ‘c’ key on my Type Keyboard. Being back in Seattle, I had the opportunity to take the keyboard back to the Microsoft Store in the hope of exchanging it. I was a little concerned as I had no receipt and it had been nine months.

Going to the Bellevue Microsoft Store I was informed that, while they would be happy to exchange, the popularity of the Type Keyboard meant they were out of stock and could only offer me a Touch Keyboard, which I declined. I noticed that Seattle also had a couple of Microsoft Stores; one in the University district, which was a little out of my way, and another ‘speciality store’, at Pacific Place, near the corner of Pine and 6th in downtown. The speciality store turned out to be a small booth. Even though this was the case, they had stock and Chad was more than willing to exchange. Again, unfortunately, they had run out of the original Type keyboards so, instead, he replaced it with the new edition of the Type keyboard with backlighting. All keys are working like a charm and I can type on the flight back to Sydney, without the overhead light on, letting my fellow passengers get a good rest.

My only criticism of the keyboard is that while the keys are backlit, the touchpad is not, which means you must resort to feeling around the keyboard to find it. Given the original keyboard had no backlighting at all, it is still a great improvement.

The second reason to consider a Surface 2 is the battery life. The efficient CPU used in the Surface 2 machine means it gets much longer battery life than my Surface Pro. I have not had the opportunity to fully test this yet but I have read battery life estimates of nine hours (compared to four with my Surface Pro and around six with the Surface Pro 2).

The final reason is the freebies you get with the Surface 2. Firstly, there is a Skype offer, which appears to give a year’s worth of free international calls, although I have not activated it yet. Secondly, you get 200Gb of SkyDrive storage free for two years. I was looking for somewhere to store my photos where they would be easily accessible (ADrive is great but it is hard to review the photos stored there). SkyDrive is ideal as I can load all my photos up there and share the drive with my family and friends, as needed.


I bought the Surface 2 thinking it was a ‘wannabe laptop’; the laptop you have when you do not have a laptop, but I was completely wrong. Even for a power user such as myself, the Surface 2 provides everything I need (well, except the ability to publish blogs but I will see if I can get around this). While it will be of limited use for people who work heavily with legacy programs, for me, it does the job. The programs I use every day are here and, while it only has 2Gb of RAM I notice no significant difference in speed between it and my Surface Pro with double the memory and a much more powerful processor. I am sure my wife will be very happy with her new Surface 2.

Monday, November 11, 2013

The Three Stonemasons of CRM Consulting

You will often hear the wisdom that if you are implementing a CRM system you should get a partner or CRM consultant involved to maximise the chance of success. This is true but not all partners and consultants are created equal. So what kind of partner/consultant is right for the job at hand?

The Three Stonemasons

There is a story, usually told in MBA courses, used to discuss the concept of vision and its importance in motivation and passion in the workplace.

Three stonemasons are building a cathedral when a stranger walks by. The stranger approaches the first stonemason and asks ‘What are you doing?’. To which the stonemason replies ‘I am chiselling this block, of course’.

The stranger approaches the second stonemason and asks the same question to which the stonemason replies ‘I am building a wall’.

Finally the stranger asks the third stonemason what he is doing and the stonemason replies ‘I am building a cathedral to last the ages. Many generations will come here to celebrate birth, marriage and death. Once completed I can die content in the knowledge I made a difference in this world’.

The idea being that if an employee is provided the vision of where a company is heading, they will be inspired to move mountains to make it happen (assuming it is a good vision).

The idea of small, medium and big picture thinking equally applies to CRM consultants.

The Block Cutter

Sometimes you need someone to come in do a very specific job and then get out. This is the specialist surgeon of the CRM world. Often they are developers and the problem is a specific plugin that needs changing or written. They do not care so much about what the business context is but more about getting a difficult job done and done well.

The Block Cutter is often an independent consultant and, if you need one, ask a CRM MVP. We either are one or know of one we can recommend.

The Wall Builder

In this case you recognise that CRM could be used to manage another process in the business. Perhaps it is complaint management or the office safety audits. Whatever it is, a new module needs to be written for CRM. This is where the Wall Builder comes in. Rather than being a specialist, these consultants are more general, having some development skills but also some business consulting skills. They will sit with you, determine the requirements for the module and then design the solution. They do not necessarily need to know the full system vision, relying on you to ensure the module fits in with the bigger picture.

The Wall Builder can be an independent consultant but is often a small team of three or four consultants working together in a small practice. Again, the CRM MVPs who are not working for themselves often work for practices like this as it gives them a level of autonomy not always available at larger organisations. Again, ask an MVP what you are after and we can guide you in the right direction.

The Cathedral Maker

Often this is the pilot implementation of a CRM system; it needs to service the requirements of multiple departments, all with diverse processes. You may be daunted at the prospect of putting in such an all-encompassing system and know that you need help. The various stakeholders may have different requirements and all of these need to be corralled into a seamless, functional system.

This is where the big guns come out. The larger consulting companies have CRM consultants which can provide all manner of service and some even specialise in specific industries meaning they not only know the pitfalls of CRM, they know the pitfalls for your specific field. They will hold your hand from the beginning through to implementation and beyond. When you need someone to take care of the entire project, the Cathedral Maker is the best choice.

In the case of the Cathedral Makers, if you are tired of asking your friendly neighbourhood MVP for advice, Microsoft can also put you in touch with a CRM implementation partner who specialises in your industry. It is in Microsoft’s interest that you use their software for years to come so you can be sure they will do their best to find the right match for you.


Just as there are many tools in a toolkit, there are many different CRM consultants for different kinds of jobs. Finding the right consultant in terms of skill set and cost can be difficult but, with the help of a CRM MVP or Microsoft, you can save yourself a lot of money and heartache finding the right stonemason for you.

Monday, October 28, 2013

Synchronous On-Demand Workflows in Dynamics CRM 2011

Previously, I talked about building a work process in CRM 2011 if you are unable to move to CRM 2013 and make use of the new process flow functionality. In this blog I talk about another way you can approximate CRM 2013 functionality in CRM 2011. Specifically, how to create synchronous on-demand workflows in CRM 2011.

Workflows 101

Anyone who has worked with workflows in CRM 2011 knows that they run asynchronously i.e. not in real time. The workflow is triggered and then put in a queue for processing by the Asynchronous Service when the opportunity arises (generally within a few seconds of hitting the queue). This means that, for example, if my workflow creates a record, this record may not be immediately available to the user when the workflow is triggered. This can cause confusion but is usually managed as part of the training process.

The Traditional Workaround

To get around this issue, the best approach is code. For form behaviours, there is jscript and for record management there are plugins. However, if you are looking for a codeless alternative, albeit, as usual, a slightly less elegant one, here it is.

Pageless Dialogs: 2011’s Synchronous Workflow

Unlike their cousin the workflow, dialogs run synchronously. Unfortunately an in-built requirement of dialogs is that they contain a page and a prompt and response.


So how do we get around this? The simplest way is to embed a Prompt and Response in an If Statement and make it so that the If Statement is never satisfied. By the way, I remember reading about the possibility of circumventing the Prompt and Response on a blog years ago but cannot remember the source so, if this is you, thank you for providing this trick and giving me the mental foundation for this workaround.

So, for example, if we want to synchronously update a field, we can do this:


We will still need to manually refresh the form to see the change but the change itself will be synchronous. Other things we may want to do synchronously include:

  • Create a record
  • Assign a record
  • Change status

Pros and Cons

As previously mentioned, a coded approach is a lot more elegant in terms of visibility to the end user; code behaviours just happen. In the case of my approach, the user must select the dialog and click the Finish button when the dialog is finished but when they have done this we can guarantee the changes have been applied.

Given dialogs can only be triggered on-demand, we are restricted to only creating on-demand synchronous workflows; for event-based workflows our only option for making them synchronous is still code.

One big advantage though is the ability to access the additional steps and functionality in dialogs, not available in workflows such as CRM Query, Variables and the ability to pass arguments to child dialogs. These are powerful functions and it is a shame that, even in CRM 2013, workflows do not have access to these functions.


Obviously, the best approach is to move to CRM 2013. However, if this is not an option, and you are loathe to write code for something which may well become obsolete when you eventually upgrade, this trick provides a codeless workaround to common CRM process requirements where the process is initiated by the user and needs to run in real time.

Monday, October 21, 2013

Upgrading My Surface Pro To Windows 8.1

I upgraded my Surface Pro 128Gb this weekend so I thought I would share my experiences and thoughts on whether others should follow suit. In short, take the usual precautions and then go for it.

When Will My Surface Auto-Update?

I was waiting and waiting for Windows Update to apply the upgrade but it does not work that way. The Windows 8.1 patch/update does not come down to the Surface Pro automatically but, if you go to the Store, it should be the first giant window you see.


You install it like any other app. The main difference being it is a big download; 3Gb of big. I have seen complaints about this on the web saying how Apple would never release such a large patch etc. To be honest, never having owned an Apple computer, iPhone or iPad, I have no idea how stream-lined and floral-scented the Apple upgrade path process is.

For myself, as the big download happened in the background, it was not a big deal; I started it in the morning and a few hours later (our internet is not the fastest in Australia) it told me it was going to reboot in 15 minutes and get the process going. I finished playing my level on “Where’s My Water 2” and rebooted.

I have read about people having a few issues with the upgrade on general PCs so, obviously, back up before applying the upgrade. I had a file backup from a few weeks ago so, for me, this was good enough.

My biggest concern was hard drive space; Of the 128Gb, I was down to 10Gb. For those that have seen my other Surface reviews, when I first got the machine, at the end of February this year, after installing the essentials, I was down to 50Gb of free space. By June, this was at 20Gb. With the space going, it looked like I would be purchasing a Surface 2 before the end of the year. Thankfully, the upgrade to Windows 8.1 has literally saved me hundreds of dollars by putting off this looming apocalypse.

Windows 8.1 Frees Up Space

This is my hard drive as we speak.


I now have almost 40Gb of free space on the hard drive! Upgrading to Windows 8.1 has made close to 30Gb appear out of nowhere. So what has happened?

Unfortunately I did not screenshot pre-upgrade because I was not expecting such a dramatic change. To be honest I thought I would be down to 5Gb and looking to jettison old iso and avi files but this was not the case.

The best we have is my June screenshot where I was at 22Gb of free space. The main folders which are smaller since then are the Users folders (reducing in size by about 4Gb), the Windows folder (also reducing by about 4Gb), ProgramData has lost about 6Gb and System Volume Information has gone down about 3Gb (22Gb+4Gb+4Gb+6Gb+3Gb = 39Gb). The User directory is mostly my profile account. I had sorted through about half of my 10G of unsorted files so this is probably where this space gain came from.

The Windows folder, I assume, is because Windows 8.1 does some spring cleaning with the upgrade. The Avast! antivirus logs had been reduced since June so this could explain the reduction in the ProgramData folder. Finally, I do not have a solid idea why the System Volume Information is smaller. I do see that the SystemRestore sub-folder is empty so, perhaps, again, this is some spring cleaning.

The amount of free space has fluctuated between the high and low thirties over the past 24 hours but this is still a lot better than 10G.

The Actual Upgrade Process

On my Surface Pro, this was painless, although it did take a while (presumably, in part, due to the freeing of 30G of space). You will see a lot of spinning dots, percentage counters slowly increasing, a few reboots and some cutesy commentary like “Fixing up a few more things”. Once this is all done you should be good to go. I did not time the process but set aside an hour and you should be ok.

Any Problems?

Problems were minor. Firstly, the pretty, stylised picture of Seattle has gone from my lock screen and replaced with some brightly coloured concentric circles (although the old picture can be restored in settings). Also, my desktop picture has been replaced. The other issue is my Windows Phone is now displaying the old Live ID icon for my details rather than my previous Facebook icon, which it had shown pre-upgrade. I assume this is a ‘last change wins’ issue and, if I go to Facebook and re-apply my ‘table dancing’ icon, it will sync to the phone.

I have not adjusted any of the ‘issues’ yet because, frankly, none are a big deal for me.

Finally, some of my Metro applications no longer work. None of these were essential or even regularly accessed and so I have simply uninstalled them and not given it a second thought.

What Has Changed?

I have already mentioned the space which has appeared. Fellow CRM MVP Joel Lindstrom believes it is due, in part, to the changes with the way Windows 8.1 uses SkyDrive. For existing users of the SkyDrive application, nothing has really changed as you still have your SkyDrive folder.


The biggest difference for me was, before, I could only add a limited number of folders to my SkyDrive folder because there was no choice but to sync them down to the local drive (unless you accessed them via Internet Explorer or the Metro SkyDrive app.) Now, with windows 8.1, all folders are visible under the Skydrive folder but are all virtual cloud folders (except ones you were syncing locally, pre-upgrade). You can right-click on a folder to make it sync locally but I will probably only do this on an as-needed basis.

This change means it is much easier for me to manage my SkyDrive content from the File Manager. For example, it is quite difficult to manage the space your SkyDrive account is taking up through the web client or Metro app and with only certain folders being synced locally, pre-upgrade, it meant this also did not give me visibility of the files in my account. Now I can run my TreeSize application and manage SkyDrive as if it was just another drive. Prior to upgrade, I used my son’s computer to store a full local backup of my SkyDrive, via the SkyDrive application, so I could manage the space. This will no longer be necessary.

You may also know that the Start button is back. I had installed a Start button emulator prior to upgrading, which I uninstalled before going to Windows 8.1 but the new one covers the essentials. The new start button does not bring a lot to the table and is equivalent to hitting the Windows button when you pen-tap or left-click it and is equivalent to the Windows 8 Windows-X when you right-click it. I still welcome its return though.

The upgrade also comes with a new version of Internet Explorer (version 11). While recently abandoning IE10 for Firefox, I find myself, again, giving Microsoft one more chance, switching my default back to IE. No freezes or crashes so far but my IFD CRM 2011 instance does not like it, showing me the Express client rather than the normal web client. I assume a rollup will come to the rescue on this one.

Finally, you can, like in a Windows phone, adjust the size of the tiles in the Metro screen (the tile settings are now accessible in the same way as the Windows Phone i.e. press and hold, rather than down-drag and release). You can make tiles really big or tiny. I like this flexibility but, like my Windows Phone, it is not always obvious whether a tile is active or not, without sitting there to see if it changes. Because of this, it is not always obvious what the optimal size for a tile should be (do I make it small and miss out on tile notifications, or bigger, wasting real estate just in case it wants to tell me something?). A suggestion for Metro app makers; provide information or a setting to optimise the tile size to ensure the best user experience. I did notice the dragging around of tiles is greatly improved and less ‘shaky’ than it was in Windows 8.


I say if you are running a Surface Pro and have the spare 3G of space, go for it. Obviously, back up your data and make a note of the applications you have installed (checking online if there are critical ones which you may think will not survive the process). My experience has been almost exclusively positive and, with my additional hard drive space, I can spend my money on other things than a premature machine upgrade.

Saturday, October 12, 2013

Building a Work Process in CRM 2011

CRM 2013 brings a range of new capabilities in terms of managing processes. From the new Flow UI form which walks the user through the steps to complete the process through to form management via synchronous workflows and the new ‘business rules’ configuration.

While the form management can be reproduced in CRM 2011 with jscript, there is no equivalent of the Flow UI. The best we can do is generate tasks via workflow. I recently had to do this for a client so I thought I would go through the steps here.

A Simple Sales Process

Let us say our process is:

  • Stage: Contact Prospect
  • Stage: Negotiate Contract
  • Stage: Opportunity Won

Here we move from one stage to another by completing the necessary actions until we finish and win the opportunity.

The Workflow


A much simpler workflow is one where it creates all the steps at once. In that case the workflow is simply a series of ‘Create’ steps. This one is a bit more complicated but the behaviour is also a lot more complex in that it creates the tasks one at a time, the next one appearing as the previous one is completed.

The workflow kicks off when the opportunity is created and stays alive while the opportunity remains open.

The first thing it does is create our first task, ‘Contact Prospect’. A good idea with these tasks, especially if you are planning to generate a lot of them, is to incorporate unique information into the subject so that when all the tasks are listed, you know which ones relate to which opportunity.


The trick is we then wait until the task is completed or cancelled. We do this with a Wait step. In my example, the action following the wait is blank. The code purists would nest the next step into here but workflows in CRM have a finite number of nesting levels so, in this case, I simply put the next Task creation below the Wait step. As the workflow will not move on until the wait condition is satisfied, the end result is the same.

There is one final trick in my Wait step in that I have used a ‘Parallel Wait Branch’, one of the lesser used workflow steps. This allows us to specify multiple conditions for the wait and if any of them become true, the workflow moves on.

In this case, either the Task is closed or the Opportunity is closed. If the Opportunity is closed, the previous Task is cancelled and the workflow is forced to stop, as it is no longer required.

Finally, once all the tasks are complete, we can, if we wish, add in a Change Status step to the workflow to automatically close out the Opportunity.

The net result is a series of tasks which appear one at a time and guide the user through the process to closing the Opportunity. If the Opportunity is closed out at any point during the process, open Tasks are closed for us and the workflow is stopped.


If, for whatever reason, you are not in a position to upgrade to the upcoming CRM 2013, this is one way you can create a series of steps for a user to walk through to complete a process. While slightly harder to manage than a Flow UI process, it is still codeless and configurable by a power user.

Sunday, September 29, 2013

You Know You Need a CRM System When You Have a BONA

A cheeky title but more interesting than “Why you need a CRM system”. Sometimes I am asked “How do I know if I need a CRM system or not?” My typical response is either “everyone needs one” or “you already have one, it just may not be very effective”. This article talks about a clear sign you need a ‘proper’ CRM system and the advantages it will bring.

What is a BONA?

A BONA implementation is, arguably, the most common CRM system used by businesses today. It is:

  • Business Cards
  • Outlook
  • Napkins
  • (Microsoft) Access


There is also the slightly less innuendo-ridden BONE implementation where Microsoft Access is replaced with Microsoft Excel.

We have all seen this system in operation; piles of business cards on the desk, scraps of notes everywhere, an overloaded Outlook inbox and that application that ‘Bob’ put together in Access which does various business processes and, when a new field needs adding, we just ask Bob.

In the case of BONE, there are usually a few hundred (or a few thousand) Excel spreadsheets scattered throughout the business assisting with various micro-processes.

It is quite surprising how many Fortune 500 businesses run on a BONA/BONE implementation.

Problems With BONA/BONE Implementations

While many businesses operate under these conditions, it does not mean they operate well. Problems include:

  • Things falling through the gaps e.g. appointments and action items written on scraps of paper
  • No easy way to get contact information from the business card pile
  • No easy way to see the meeting/email history for a given person in Outlook
  • No ability to collaborate with co-workers as everyone has their own pile of cards/inbox etc.

In terms of the Microsoft Access application, there is the obvious risk of ‘Bob’ moving on from the business leaving an unsupported application. Also, as with the Excel spreadsheets, the ‘system’ is developed over a period of time and there is often a dozen different ways of doing the same process throughout the business. Even within the Access database there may be multiple contact lists, all with common contacts in them and no clear source of truth. This means none of the data is trusted and is restricted in its use in the business.

The CRM Alternative

These days CRM system are more than just sales force automation; they are a central place for all information about the people and organisations you do business with and the interactions with them. Moreover, a good CRM system will have a workflow engine in it to help manage the processes of the business. Notifications, escalations and approvals are the bread and butter of a modern CRM system.

The icing on the cake is you can create different ‘record types’ (for those of a database persuasion, think new tables). So, if you are in the business of managing elevators, you could create a new elevator record type to store all your elevators in. If you manage cows, you can create a cow record type to store Daisy and Buttercup.


If you or someone you know has a BONE or BONA office, now is a great time to look at getting a proper CRM system. Review your needs, look at the CRM solutions on the market and spin up a 30 day trial. If you see value, get a partner in to set up a system to meet your immediate needs and which can be scaled to meet the unanticipated needs of the future.

Monday, September 23, 2013

Reporting on Activity Parties

Activities are set up in a bit of an unusual way in Dynamics CRM. You have Activity Types (Appointments, Phone Calls etc.) which have their own entities and there is also the Activity entity which holds common fields (Regarding, Subject, Actual Duration etc.) There is also the idea of an Activity Party. An Activity Party is any kind of a ‘person’ which can be associated to an Activity. So, for example, the Required field of an Appointment can be populated by a Lead, User, Account, Contact or Facility/Equipment. These are all Activity Parties, as is the owner of the Activity. In fact there are quite a few ‘Participation Types’:

  • BCC Recipient
  • CC Recipient
  • Customer
  • Optional Attendee
  • Organizer
  • Owner
  • Regarding
  • Required Attendee
  • Resource
  • Sender
  • To Recipient

Activity Grid Issues

Where this can provide some problems is in Activity grids on Contacts and Accounts. For example, if we look at the Activities of Adrian via the Navigation Pane, we see an Appointment.


However, looking at the Activity Grid on the Contact form shows no Appointment.


The reason for this seemingly inconsistent behaviour? In this case, Adrian is a Required Attendee of the Appointment but it is not Regarding him. The ‘Open Activity Associated View’ looks for all Activities where Adrian is a Party. Unfortunately, when we add the Activity grid to the form, the only relationship we can use is the Activities(Regarding) so the Appointment is lost.


Because of the confusion this causes with users, I often remove the Activities grid from the Contact and Account form when implementing CRM.

Reporting on Activity Parties

There is also some limitations with Advanced Find in regards to Activity Parties. While we can perform an Advanced Find on Activities and use Activity Parties to define our filter, it is not possible to perform an Advanced Find directly on Activity Parties. So, while we can ask “Show me all Activities where Adrian has been a Party”, we cannot ask, “Who has been a Required Attendee for an Appointment in the past six months?” The best we can do is start at one kind of entity who can be a participant e.g. a Contact and then browse through to Activity Parties to answer this question but it means querying for Contacts, then Accounts, then Leads etc.

Another option is to use the Report Wizard. I have been disparaging of the Report Wizard in the past and maintain this position. For the average user, Excel reporting is more accessible and for developers, creating SSRS reports directly offers a lot more control and flexibility. In this case, as we cannot easily extract the information we need via an Advanced Find query, the Excel reporting option is closed to us and therefore the Report Wizard is our next best option.

Using the Report Wizard, we define the entities of interest for the report as, for example, Activities and Activity Parties.


From here we can add a list of Activity Parties directly to the report. In this case I have grouped them by their Activity Subject, but this is not necessary. You could just as easily group by Participation Type.


Once set up, the report can be run and the list of Activity Parties generated and exported, as required.


Activities and their associated records are set up a little strangely in Dynamics CRM, although they can be understood. If you are finding your Activity reports are not working as expected, it could well be the case that your reports are only looking for one kind of Participation Type and not all of them. Generally though, once you identify the cause for the misreporting, it is relatively easy, with a little creativity to extract the reports you require.

Sunday, September 15, 2013

How ERP Can Use CRM: Mass Payment Notifications

Often the worlds of CRM and ERP are quite distant. It is a rare individual who has traversed both of these lands (I am quite lucky to have a few such folk in my team, but it is unusual).

One idea I recently had was a way a CRM system could be used to help with the processes traditionally associated with the ERP system. This post is probably more aimed at ERP users who are CRM-curious than everyday CRM folk but, hopefully, it might generate some ideas to help bridge communication between the two nations.

How Not to Use CRM

There is a rich tradition of people trying to bring ERP functions into a CRM system and it failing horribly. The fact of the matter is a general ledger has no place in a CRM system. If it involves debits and credits or account reconciliation, keep it out. However tempting it my be or however insistent the client is that it is exactly what they need, it is wrong and unnatural and will fail. Even things like inventory management are limited in their scope if managed through a CRM system. This being said, there are some things CRM systems do well which an ERP system can make use of.

What CRM Systems Do Well

CRM systems do two things really well:

  • Managing business processes that involve the passing of information between people
  • Managing interactions with external stakeholders

ERP systems also handle the first one of these well in regards to financial transactions. However, sometimes the second one is lacking. Sure, most ERP systems have a concept of ‘vendor’ and ‘customer’ but tracking external communication is not always as strong; pulling up a history of client emails, meetings and phone calls is not always simple.

This is where CRM systems can help.

Mass Payment Notifications The CRM Way

I am not an expert on ERP systems so I am sure there are some ERP systems that do this really well; I just have never seen it. Let us say we have made a series of payments in our ERP system. Cheques are in the mail, bank transfers are done and money cabled to distant lands, as required. All of this is recorded in the ERP system and we now want to let the recipients know the money is on its way.

To do this via CRM, we first extract the list of payments from the ERP system into a CSV file. Pretty much every ERP system has the ability to generate lists of transactions and export them to Excel so this should not be a problem.

Next, we use the CRM Import Wizard to bring in the transactions. We will need to create a transaction entity in CRM first, but this is a straightforward, codeless process.


Once we import, we can then use a CRM workflow to do the rest. The workflow will automatically kick in the moment the record is imported and can send an email, using a template of our creation to inform our customer that their money is on its way. The sent email will be held in the activity history of the account record in CRM, along with any meetings and phone calls made by other parts of the business.


While money could be thrown at integrating the CRM and ERP systems to pass the various bits and pieces of information between them, in the case of the activity history, it is probably simpler for the ERP users to simply use the Outlook client for CRM so they can reference the various interactions at their leisure. Similarly, such a setup means the other areas of the business can see when payments are made. For example, if an enquiry comes in via phone to the call centre about a missing payment, they can reference the CRM system to see if and when it went out. If the payment record is not there, they can escalate it, as required.


Sometimes it is hard for the CRM and ERP camps to understand how they fit in with each other. However, it is possible to use the strengths of both for the benefit of the entire business. In the case above, I have described a simple way CRM can help the ERP process and also provide clear visibility of transactions across the entire business. I am sure there are other ways, such as for debt collecting, where a similar process could be employed. If this is of interest, enquire with your internal CRM power users or ask your Microsoft partner how things can be streamlined (as outlined above, it does not have to be an expense process).

Monday, September 9, 2013

Setting Long-Term Workflows in Dynamics CRM

I originally wrote this article for MS Dynamics World who gave me permission to recreate it on my blog.

Setting Long-Term Workflows

Workflows are remarkably useful because they are so powerful as well as being easy to configure. A feature of them which takes a little getting used to are the ‘waiting’ steps. I recently had a problem where a client needed to use the waiting steps well beyond the time limits available in Dynamics CRM.

The Problem

The client in question was a financial management client who classified clients into three categories (let us call them gold, silver and bronze). Based on their category, a major review of their financial situation happens every one, three or five years respectively. The idea was that when the record was created, a review date would be set. A month before this review date the client was contacted and an appointment set up (handled by a different workflow). When the review date passed, the review date was again reset.

The problem is timeouts can only happen up to 24 months out, not three or five years out.


My initial reaction was to tell the client it was not possible. My main contact smiled and she suggested I think it over. Sure enough I found a solution.

The Solution

The solution in the end turned out to be quite simple.


To start at the top, the workflow begins on the creation of the record (Account Category is a mandatory field so we can guarantee it will have a value). It can also be called by another workflow as a child process (I am planning to loop this workflow).

The first step the workflow has is to set the review date to one year in the future.


In this case I have set the Review Date to 12 months after the ‘Execution Time’. The Execution Time is a commonly misunderstood expression and leads to no end of confusion when setting up workflows. The Execution Time is the time the expression is evaluated. In other words it is the time at which this update step updates the Review Date. Given this is the first step in the workflow it is almost exactly the same time as the Accounts Created On value and almost exactly the same time as when the workflow started but if the update step was further down in the workflow with timeouts and the like before it, the execution time would be very different to the start time of the workflow and the Created On time of the Account.

It then checks if the Account is Silver or Bronze and, if so, increases the Review Date by another two years.


This use of the Review Date to set itself is completely valid.

For Bronze Accounts, this is then repeated. The net result is Gold clients will have a 12 months Review date, Silver clients will have a 36 month review date and Bronze clients will have a 60 month review date, as required.

The final step is to wait until the Review Date and then reset it by calling the workflow again.


We now see the reason we used the Execution Time in our first expression rather than the more commonly used, and less confusing, Created On value. The Created On value will still be the same whereas the Execution Time will now be approximately the same as the Review Date, as required.

As a word of warning, generally speaking CRM will fail a looping workflow. However, for longer cycles it will let them happen. I cannot remember the exact time limit for loop detection but it is of the order of minutes and hours, rather than months and years.


This is a nice example which combines a few of the trickier aspects of workflow creation such as timeouts, looping and the Execution Time. One other thing to take note of is often people will shy away from creating long-running workflows fearing they consume resources. My understanding is this is not the case. When a timeout is encountered, the workflow unloads from memory and is only reloaded when the timeout condition is met.