Customer search in Dynamics 365 for Operations.

Continuing my occasional series as I’m getting reacquainted with Dynamics 365 for Operations after a few month’s absence, we were looking at the new way the customer search has been implemented on the create sales order form.

Let’s go to the Sales and marketing > Sales orders > All sales orders list page and click New:

Now I could enter the customer account if I knew it, but let’s just start typing the first few characters of a name. I’ve typed “For” and stopped. I don’t hit enter. After the shortest of pauses, I see:

Pretty neat, but what if I typed “Wholesale”?

Oops. But notice that filter icon next to the Name. Click on it and:

Obviously I can change ‘begins with’ to ‘contains’ and I see:

.. all of my wholesalers.

But you can’t game the system by typing *Whole* in the customer name:

Well, not until you click on the filter icon:

Obviously that hasn’t helped too much, but clear those back-slashes, and even though the search criteria says ‘begins with’, is now acts as ‘contains’, so:

Gives, (when you click on ‘Apply’):

Exactly the same thing happens when you create a new purchase order and you’re entering a vendor account:

A similar thing happens as Item search on sales order lines and purchase order lines – but it’s using the ‘Search name’ field and not the Product name

Of course you can filter by Product name (or any other field) just by clicking on the column heading – don’t forget to clear your other applied filter though. I remember I once saw someone searching for a 50mm bolt by simply searching for *50mm* in the product name. Converted me from holding everything in separate fields to text search in an instant.

As an aside, don’t forget that you can create sales orders from a customer record, and of course you can customise your customer list page list grid to show whichever search fields would be useful to you.

And you can create a purchase order from a vendor.

Happy AX’ing. Or I we should say 365-ing, or Operations-ing?

Purchase order approval in AX 2012

I’m not a great fan of purchase order approval. Actually it’s not purchase order approval that I have a problem with, it’s purchase order re-approval. Mostly I’m working with inventory purchase orders and master planning. So, first off there are a couple of exceptions to using purchase order approval for inventory purchasing: first, if you firm a planned order, the order’s automatically approved; and secondly you can’t use purchase order approval with sub-contract purchase orders. Then with inventory purchasing you’re going to want to update the purchase order – you need to record the vendor’s confirmed delivery date, and you might want to change requested delivery dates.

With purchase order approval workflows active you can’t just edit the purchase order to make changes – notice that the Edit button is inactive. You have to click ‘Request change’ and then make your change and then re-submit for approval


So let’s make a change to the delivery date and submit the purchase order for approval:


After the workflow messages have been process the Actions > View history button shows me that the purchase order is waiting for approval:


But the problem is that master planning is still seeing the original date (and warehouse and quantity) so we’re looking at changes that won’t have any major financial implications, but they’re important to master planning, and we want to apply those changes immediately, without having to wait for the boss to approve the purchase order.

The solution of course is to include an automatic approval setup in your workflow. I don’t really want to get into workflow setup – it deserves a whole series of posts all on its own – suffice to say that there are some useful ‘fields’ that you can use to setup conditions for automatic approval in your workflow. There’s an example in the standard demo data which uses the purchase order delta invoice amount percentage:


You can also use the purchase order delta invoice amount (rather than the percentage) and as you can see above there is also an option to test the purchase order ‘requires purchase order re-approval’.

The ‘requires purchase order re-approval’ is triggered by a policy. Go to Procurement and sourcing > Setup > Policies > Purchasing polices:


We need the policy that’s active for our company:


(If you’re working on policies, keep an eye on this setting – too easy to be updating a policy that doesn’t apply to the company you’re working in).

Then we need to find or create the ‘Re-approval rule for purchase orders’:


Access the details of the policy by double-clicking on the effective version of the Policy rule. Then you define the fields which, if changed, are going to trigger re-approval:


You can view the fields in a simple list or more complex tree view. For this simple example I’m setting this up so that I can change anything on the purchase order except price and quantity.

Now we’re ready to ‘Request change’ on our purchase order, edit the purchase order, and re-submit for approval. Once the workflow has run we can see that the purchase order’s approved and the workflow history shows that the automatic approval was triggered as required:


But if I change the price or quantity, the purchase order requires manual approval:


Job done.

Why you can’t reverse a purchase registration in WHS in AX 2012 R3

The new Advanced Warehousing processes in Dynamics AX 2012 R3 use the warehouse mobile client purchase order receipt process to ‘register’ the product receipt.

I’ve created (and confirmed) a purchase order:


Then I’ve used the warehouse mobile forms to process the purchase order receipt:






And now, when we look at the purchase order we can see that we have Registered that receipt:


OOPS – we’ve received the wrong purchase order. No worries, based on our previous experience of Dynamics AX we know that we can go to the Purchase order line > Update line> Registration form and reverse the Registration:


Click ‘Auto-create’:


And Post all:


So what happened? Warehouse work is what happened. As well as registering the purchase order receipt we’ve created warehouse work (and its concomitant inventory transactions, one of which is reserving the registered inventory so we can put it away in the warehouse):


So now what we’ve got to do is not just reverse the registration, but we have to cancel the warehouse work, and then reverse the registration. That process has been covered by Ivan Kashperuk in this blog post: Walkthrough: Cancelling put-away work in Microsoft Dynamics AX 2012 R3. There Ivan mentions this important warehouse management parameter, ‘Unregister receipt when cancelling work’:


However, of course we could of course gone one step further and completed the warehouse work, in which case we would see:


In this second case we simply don’t have the option of reversing the registration because we’ve got financially updated warehouse work transactions – the last one is a receipt into our put-away location. Even if we manually move the on hand stock back into our receiving location, reversing the registration is no longer an option because our inventory position would be wrong and inconsistent.

The cancellation process has to be:
1) post the product receipt on the registration;
2) manually move the on-hand back to the receiving location
3) then cancel the product receipt.

The Total Quality mantra of “do it right the first time” never seemed more appropriate.