30 April 2017

Dynamics 365 Financials – my take on it’s target

I keep seeing Steve Mondue's tweets about Dynamics 365 Financials and overshooting the target. blog this week, he does make sure you've seen it with his tweets doesn't he? I know that Steve is a CRM guy by background and this was his take on the Business ERP position but it's niggled away at me all week so I thought I'd get my thoughts down in response. What business size is Financials really aimed at? Is it a Quickbooks competitor or for companies who have outgrown it?

What business size is Financials really aimed at? Is it a Quickbooks competitor or for companies who have outgrown it?

Well I think Microsoft are trying for both and even other markets, ambitious and a big target. I know what you'll say though, a product that is sophisticated enough to satisfy the mid-market will be too complex for the entry level to get started with. And your right but forgive me, I think you've misunderstood what Financials is.

Think of Financials as a platform rather than a product. It's a set of tools with which you can create and deploy business processes very quickly. You can even have processes that achieve the same outcome but are different to cater for varying sizes or sectors. You can group those processes into 'sets' which are appropriate to run the smallest organisation that just needs a general ledger (like a small not for profit) or the largest most sophisticated group that has lots of divisions in lots of countries using multiple currencies.

In fact it's the mirror image of what's happening with the application formally known as CRM, where Microsoft have released the Enterprise Sales and Service 'solutions' and are working on the Business Sales and Marketing, then Service solutions that all run on the same underlying core platform and that are just different sets of forms and logic on the same underlying core entity/table structure.

For Financials, Microsoft have taken the NAV toolset and created currently three products that can sit on the Financials platform. Called Application Areas (dumb name, should have been called process sets) and currently hidden in that development environment, they are #Basic (the QB entry level competitor that's all you can sign up for currently) #Suite which takes you more into the mid-market 10 to 99 user level and #<blank> which is the 'full fat' NAV product complete with manufacturing, warehousing, service management etc. and I guess up to the 300 user limit.

When you are creating new customisations for Financials (for publishing in appsource) you must define which Application Area you want to put them in, are they QuickBooks competitor friendly and needed or full fat NAV level requirements. Add the #Basic or #Suite application area properties as required. You can do that for each field, button or option on each screen/form/page. 

What's good about this is if Microsoft get it wrong (heaven forbid) and leave out functionality the market demands or over complicates it (although that never happens you understand) by putting things that they don't need in, it's a simple change to move it from the one application set to the other with no additional coding, just a property change.

In fact, right now in the NAV application itself, you can go and change from #Basic to #Suite by changing the User Experience setting in company information. Watch it though you cannot change back to #<blank> which is rather an anomaly right now – manufacturing and some others will disappear for ever!

I'd be first to agree that right now Microsoft is not where it needs to be with the Quickbook competing Financials, still quite a bit it doesn't do, still harder than it should be to get started with etc. But the platform is there. Tweaking the application set to what it needs to be just requires an understanding of what changes are needed, but that's probably the bigger challenge than doing it!

There's a lot of flexibility though, MS can create more application sets at will, I could easily see for instance #BasicPlus or even #BasicUK to satisfy particular requirements. One they could create is #Basic2017 and let the customers choose when to migrate from #Basic. That might address the one criticism of Saas ERP platforms, which is that you are forced to upgrade on a set date with little change to prepare for what the changes mean for you're processes.

So why not go after the sector of the market that they own now rather than where they are the new challenger? NAV is the biggest dog in the mid-market, I saw Netsuite announced 40,000 organisations are using their software last week, well I have seen the latest numbers but I'd bet with the year its having that it's now not far short of 160,000 on Dynamics NAV right now. Sales here in the UK are at record levels before we get Dynamics 365 Financials so when we shortly do, that can only accelerate. That Microsoft will enable us to have #Suite and #<Blank> will give us an unbeatable price point with the full equivalent of the premium product that's been cleaning up despite its high initial cost. What wouldn't Microsoft take opportunity rather than let Netsuite get to 41500 because some potential customers think they don't have a 'proper' Saas option?

The entry level QB/Xero/Sage market was always going to be a harder nut to crack without the track record. In fact Microsoft's Money/Office accounting history counts against it, no one wants to see the Finance software they rely on 'end of lifed'. We've got very used to being on every shortlist going for the midmarket in recent years, it's going to take time and by that, I mean several years, before its true at the entry level.

That is where this strategy is genius though, the mid-market is paying for (or has paid for) the platform and a lot of the application area, the additional ongoing investment needed to attack the entry level is laughably small (to Microsoft) compared with starting from scratch.

Steve's points about advisors, be they accountants or others (like him currently I guess), not recognising or knowing Financials is a good one and even Microsoft's marketing war chest won't change that overnight. But they have a couple of key advantages that should help win in the medium term.

First is the stack and integration to Office 365. What other finance product allows you to enter sales orders while still in Outlook? What other product allows you to enter journals from Excel? You might know QB/Xero/Sage well but I bet you know Office equally as well and sure as heck, your client will know it better. Then there is Power BI, what other product has a reporting tool half as good as Power BI?

Then we have the application formally known as CRM, for an extra $10 even as a single user and by 15 users it makes your financials cheaper, on a plan. So most if not all will get not just a great lead and opportunity tool (suspect a lot will stick with Excel) but the two things ultra-small businesses struggle with.

Marketing is something that every small business would like to do more of because they recognise it's the way to grow, they just don't have the time and knowhow. The marketing app should give them both, my fingers are so tightly crossed waiting, I've lost blood flow and if Microsoft don't deliver soon I'll get gangrene!

Last year when Microsoft announced Dynamics 365, they didn't include service at the business level. They changed that before I killed anyone but it was close. Small business have to compete with enterprise on service. That's fine when there are one or two people who 'just know' but when you grow you need processes. And the backstop process for when all else fails is a case. Every small business needs cases to ensure that every question from their customers is followed up and answered in a competent and timely way. Cases are brilliant and no other entry level product has anything even close.

Back to the second and most important way to get accountants or advisors on board. Financials key advantage is that it goes from $0 to $1bn, no exaggeration, I work with two clients who do over £1bn turnover. Every start up has the ambition to grow and not many would reject being the next Google, Facebook, Uber, AirBnB, Just Eat etc. Imagine being able to say to them that start with this and you'll never have to reimplement/change/learn anything new. You'll be able to interface to anyone or anything you need to. This can grow to as big as you need to it to be. A simple setting will allow you to turn on the functionality you need, when you need it.

Today those start-up's start with their friendly local accountant and QB/Zero/Sage and if their successful, that lasts a couple of years. Then they get frustrated and go find a 'proper' system' which is when I meet them. What's great for me that they've just got to the size where they can justify and afford decent consulting fees. Their business model is proven and they want to exploit the opportunity they now are sure is there, before anyone else does. They are impatient to get on with it but I have to tell them they need to start again as far as their systems and data are concerned.

So the message that will get advisors recommending Dynamics 365 Financials is simply, the rather blunt but effective

How do you like continually losing your biggest most lucrative clients, to me!

14 February 2017

Dynamics NAV Budgets – the most under used feature?

Why is it that so few companies use the budgets feature in Dynamics NAV? It's great, easy to use and flexible. But less than one in ten companies of any size tend to use it in my experience. Almost everyone complains that 'I haven't got round to setting it up yet'.

So quick tip – setting it up is one of the easiest things you can do in NAV. We can have it working for you in ten minutes flat. Don't believe me? Your budgets will take longer to input than that? Well let me prove it.


Go into G/L Budgets on the General Ledger menu or use the search box. Select New tro create a new budget and give it any code and description you like. Then select Edit Budget.


And the first thing you should do is set the 'View By' to Month, rather than the default of Day, you don't really want to do budget by day do you?

I then set the year I'm budgeting for in the date filter in the filter section at the bottom so it doesn't default to the work date periods all the time.

Next filter it to just Income Statement (or Profit & Loss as we call them here in the UK) accounts


Then the fastest way to get a budget is to copy the figures from last year and apply a 'factor' or percentage variance. That done via the 'Copy Budget' option at the top.

Now there are some options here you need to get right so again I've highlighted them in yellow below

So the secret is this doesn't just copy budgets, its copies G/L entries to Budgets using the Source and Selecting, yes, G/L Entry. Well don't your budgets in Excel start with actuals from your chart of accounts now?

Set the G/L account range you want to budget for – again I'd suggest only your income/expenditure accounts.

Set the date range you want the actuals for, usually last year.

Make sure you select your new budget code against Copy To Budget Name.

Under the apply section I've uplifted all the numbers by 5% by multiplying by 1.05 and rounded to the nearest whole number with the rounding method.

I've done just one total for the month by setting Date Compression and most importantly I've set the Date Change Formula to '+1Y'.

Click OK, let it run and your budgets done.

Oddly you need to click Refresh when it returns to the budget before the new figures show.

And voila, you have a budget.

Next explore the Export to Excel option on toolbar, don't forget to click Include Totalling Formulas. You can distribute, get people to revise it and then update it via the Import from Excel.

Then go and build a budget by Dimension, yes, the copy from G/L entry works by dimension as well!

So come on, no excuses are there? Do your budgets in your core business system not in that unmanageable rats nest of an Excel spreadsheet please.

02 February 2017

Dynamics NAV & the Copy Company feature

Sorry it's been so long since the last blog, lots going on in my personal & professional life has got in the way recently but I have renewed determination to share more.

So the copy company feature Microsoft added, in I believe 2016 2013R2 (thanks Natalie Karolak who has a better memory amongst other things, than me) , is just fantastic. While you need to be aware of the performance impact if you have a large dataset, the ability to 'spin up' a copy of your live data for testing is just ace and helps the support teams no end.


But, and you knew that was coming didn't you…..

It copies at SQL Level (which makes it as quick as possible) and that means there is no business logic applied. You get an exact duplicate of the copy your copying in that new copy.

Why is that a bad thing?

Well there are a number of issues and therefore things I believe you should either do yourself or get the system to do, after that copy.


The copy can send out email's. Not a problem in itself but click post & send as part of a test transaction and how is your customer or vendor supposed to tell that the email they get is not from your 'live' company. Getting good turning up against a purchase order number that's likely to be for a completely different vendor is going to confuse your goods in completely. Who is going to pay for the 'failed delivery'?

Best to go and take out the SMTP mail server's IP address – that stops any possibility. If you need to test the email function you can always go and put them back in for the short period you need to test its working correctly.

CRM Integration

So you have the link to Dynamics CRM configured, do you want the updates from you new company flowing through? It would really mess up CRM if those test accounts and product you create get replicated wouldn't it? Better turn it off then hadn't we.


Job Queue & Scheduled Tasks

So now there is no need to start separate NAS for each company for the Job Queue to start running. It run by the middle tier service for all companies by default. That means the job's that ran in live will also run in the new copy you've just created. That at best uses resources for no benefit and at worst sends loads of data or reports out that will confuse everything.

So after your copy remember to go into the job queue and place all the job queue entries 'on hold' – you can then enable the ones you need to run when you need them.

With 2017 the Job Queue creates scheduled tasks, I'm also deleting all of those to make sure nothing executes that I'm not in control of.



Company Information

So we have a fraud risk here. Imagine if I have malicious intent and I copy your live company, create a nice large sales invoice then immediately delete that company again. If that invoice is used in a VAT claim by another company, how are the tax authorities going to look at you? Say I raise and send a nice large purchase order to a vendor that then manufactures those items specifically for this order. How will you sort that out.

The Name in the company information should always be changed to make it clear it's not the 'live' company. I like a large '*TEST*' at the start of the company name. I also clear the VAT Reg. No and the Registered Company Number field as well.

In fact I like the company name to tell me the date & time I copied this company & from where, that way I know when this data was created and how up to date the data is. That means I know if I can delete it safely which is a must if I'm not to end up with lots of 'test' companies using lots of space and resources.

No. Series

I like to change the No. Series on my copy company as well to make it doubly sure contractual business documents cannot be misunderstood. If that Purchase Order has a number of '*TEST*PO00001' it would make even your dimmest vendor ring up and check.


Don't we just love Events

So all this is lots of effort and I have to remember to do it, wouldn't it be better if the system 'just did it' for me?

Well we have a Company table and thanks to Microsoft's new development capabilities, an 'OnAfterInsert' event for that table.

So I can write a function on a custom codeunit and subscribe to that event. That means it will run my code, after its does the copy company function in the Companies page.

So on github there's a codeunit that, if you renumber (its 50000 currently), then import & compile, will make sure all of the above are done, automatically for you, every time you copy a company.

And because it's an event subscription there are no changes to standard code. You know, every time I say that phrase to myself (and its all the time these days), I just want to whoop like an American!

Have I missed anything?

I'd be very grateful if anyone could suggest anything I've missed? Feedback is most welcome.