Solution Apps allow ISV’s to leverage Dynamics 365 Financials quickly

One thing that I expected to hear more about after Directions US was 'Solution Apps'. For me they are big news but not it seems not everyone else. I checked with Kurt and he presented it at the ISV session last Tuesday so it's out of NDA.

What are they and what do they mean for Dynamics 365? I wasn't at Directions US this year but was lucky enough to be briefed a couple of weeks ago so I've had a chance to think it through. Hopefully, my conclusions are right.

Until now we've just had regular 'Apps', which are what Extensions were called once they hit the AppSource apps store, with the possibility to install them on top of Project Madeira or Dynamics 365 Financials – which I guess is now it's proper, if not exactly concise name. They are functionality which the author had added to the core functionality published by Microsoft which we know is a simplified subset of what you get with Dynamics NAV.

The contentious issue though is that regular apps cannot change any standard objects, they have to be non-invasive, just linking to that core functionality by events. The idea is that this makes upgrading easier, you just install the latest objects from Microsoft and re-layer your apps back on top.

The trouble is that to date, only a fraction of one percent of the code out there uses these new techniques. That slows Microsoft from leveraging the huge pool of Dynamics NAV solutions already built to get market traction with Dynamics 365 Financials quickly. Getting NAV developers on board with this new way of working may well prove hard, we know from the move from classic to RTC that they are a hard bunch to move until it unequivocally matches the capability they had previously in every aspect.


Now with NAV 2017


With Project Madeira


In Future with D365


Customer Layer



App A

App B

App C

App D


App A

App B

App C

App D


Dynamics NAV 2017


Project Madeira Financials


Solution App


Financials Platform

Microsoft are proposing Solution Apps to get around this and allow their successful ISV's to get to market quicker, if not straight away. With solution apps you're not taking the financials functionality from Microsoft, at least not directly, you're taking them from the ISV. But they are complete with the changes that ISV have made to address a particular market or vertical. Sure those solutions started with standard NAV objects in the beginning but they have had lots of customisation and code changes in a way you're not allowed to do with a standard app/extension.

So the choice on D365F just got huge overnight. You have to have the base Saas platform from Microsoft, that controls the security, printing etc. but then you can choose a solution app either from Microsoft (so getting the Project Madeira/D365F experience) or from a third party ISV solution app provider.

You can then still layer on standard apps/extensions from appsource but there will have to be a process to determine which of those apps work with which solutions apps, some of the solution apps will change objects that the apps depend on.

Finally, it seems they intend to let us layer on top of all that, a specific customer layer. I know what you're thinking; if they do that what's the difference with Dynamics NAV? As far as I can see it's only that with current non-multi-tenanted implementations, I can change the core Microsoft objects per customer, here the customer layer can only interact via events and new objects, in that customer extension.

My take is that this is all good news, the upsides are that any ISV offering a NAV solution now should be able to offer a Dynamics 365 one with a lot less work & investment. There really is going to be no excuse now, if you had CFMD on NAV then you should have most of what you need for D365F.

The only downside is that some 'poor' software will now have a longer life and the purist in me was hoping this was the opportunity to kill it off. Some of the ISV solutions out there are not great with pretty ropey coding going back decades, that doesn't conform to any of the current best practise patterns. In the worst cases they simply break standard NAV functions and corrupt code and yet somehow they have got CFMD status.

Now ISV's are not forced to rewrite their vertical as an extension, commercial pressure will mean that code lives on. I cannot ever see Microsoft being able to kill the solution app genie now it's out of the bottle, they will just be threatened with loss of revenue and customers.

Can I criticise Microsoft for doing this – no, the numbers they are expected to produce in very short timescales mean they have to take any route they can, to get adaptation. Hopefully the gateway to submitting a solution app will much harder than CFMD has been, preventing most of that 'crap' from floating across.

Another thought. My team, as I've written before, have been working away on a whole bunch of extensions or apps as I'm going to call them, for some time. I think it no secret that we are fans of extensions and have adapted the approach of creating lots of smaller ones rather than big monolithic ones.

We think this allows us much more flexibility and less risk when deploying, allows us to roadmap and update them individually and use the same ones across multiple verticals. Once we knew that you could have extensions which were dependent on other extensions being installed it allowed us to have 'base' and 'advanced' versions, keeping it simple for most but allowing the complexity when it's needed.

But we've been concerned that as a company specialising in distribution and manufacturing sectors, that Project Madeira doesn't include some of the core features that we take for granted in NAV. Production orders and warehouse shipment being two that immediately come to mind.

Now though surely we can just take standard NAV 2017 as our ultimate 'base' solution extension on which our other extensions depend? Then the wicked part of my brain says would that get through the more rigorous quality gateway we want them to have for solution apps? Some of that 'standard' code hasn't been revisited since the late 90's has it?

I'll finish by saying that my utopia is looking closer. I just want them now to announce that the country localisations are going to be extensions too and my world will be pretty complete for now. That way I could have one code base for my solution app based on W1 and optional extension apps. Then I could layer on customer specific changes if needed, before finishing with the country layer. That could be per tenant in a multinational rollout. It would cut our Azure hosting costs (no middle tiers per country) so must cut Microsoft's Saas provisioning costs and allow them to roll D365 to more countries quicker as well. Hopefully that will motivate them to do it soon.