Quality orders in AX 2012

A couple of times now I’ve been asked to demonstrate Dynamics AX Quality orders to a company that is using Dynamics AX – but isn’t using Quality management.

This walk-through is the minimal setup for this – but isn’t pretending to be a real world implementation, however I that hope you’ll see enough functionality here to realise that for many manufacturing companies Dynamics AX Quality orders provide a good basis for building sensible business processes.

So off we go with some basic setup – by the way if you look at the Quality control menus you’ll see options that I don’t mention (like Test areas and Test instruments), remember that this post describes the absolute minimum of setup that you need to do to demonstrate quality orders – there’s much more functionality here than I’m attempting to describe.

Although quality orders can be used without batch tracking, every time I’ve used quality orders they have been related to batches. First then, we’ll setup some Batch disposition codes. Inventory management > Setup > Batch disposition > Batch disposition master:


You’ll need three Batch disposition codes to drive the Quality order process:

  • The default Batch disposition code you’re going to assign when the batch is created or received from a purchase order or a production order. I’m using QC-Hold here, and you can see that I’ve set it up so that the inventory can be transferred from one warehouse to another, but not sold or issued to production. It’s also ‘Nettable’ – which means that the inventory is counted as stock on hand by Master planning. You’re being optimistic here, and assuming that eventually the batch will pass the QC tests. Obviously you can have this code setup however you wish to suit your company’s requirements.
  • The batch disposition code used once the quality order has been passed – I’m using QC-Pass and the setup is no blocking at all, and Nettable.
  • Finally we need a Batch disposition code used if we fail the quality order tests. That’s fully blocked, and not Nettable (so that master planning prompts you to replace the batch) – but you might want to transfer this inventory out of your main warehouses so I guess you might have QC-Fail setup to allow inventory transfers – or you could use other batch disposition codes to handle batches that fail QC.

You setup that default Batch disposition code on the Item model group. Inventory management > Setup > Inventory > Item model group:


The next thing we setup is a ‘Test’. A quality order consists of one or more tests. Tests can record integer numbers, fractional numbers or options (lists). Numeric tests are setup with Pass/Fail ranges, but I’m going to setup one simple Pass/Fail option test. Inventory management > Setup > Quality control > Tests:


The options for this test are setup as a Test variable. Inventory management > Setup > Quality control > Test variables:


Next we need to setup a sampling regime. This serves a couple of purposes. When we record results against our quality order we need to record tests for our sample size, and also we have the option of setting the quality order as being ‘Destructive’ – in that case this setting tells the system how many units to write-off. Inventory management > Setup > Quality control > Item sampling:


<<A little grumble-gram here. That inventory blocking option relates to an inventory blocking order created when the quality order is created. We don’t need an inventory blocking order here, because we have the more sophisticated Batch disposition code control – but there’s no way to stop inventory blocking orders (without using a minor customisation).>>

The next bit of setup is a Test group. A test group is one or more tests (think of it as a template quality order). Inventory management > Setup > Quality control > Test groups:


So now I hope you can see that we’ve brought together most of our previous setup.

On the Test group General tab you specify the Pass / Fail batch disposition groups:


And on the Test group lines Test tab we link our Test variable to our test (or for a Numeric variable specify the Pass/Fail ranges):


Nearly there – the last bit of setup is to assign the test group to an item receipt transaction (purchase receipt or production receipt). Inventory management > Setup > Quality control > Quality association:


This is a simple setup that will generate a quality order upon purchase order receipt. I’ve setup my item up to be batch tracked, and the system’s going to assign a batch number equal to the purchase order number when I create my purchase order line. Procurement and sourcing > Common > Purchase orders > All purchase orders:


I confirm my purchase order and then I post the Product receipt for 100, and I get:


Before we look at the quality order let’s look at the on-hand:


Not too unreasonably, the blocking order is holding the one we’ve got in the QC department for testing. Here it is. Inventory management > Periodic > Inventory blocking:


And here’s the Quality order. Inventory management > Periodic > Quality management > Quality orders:


To process the quality order, click the ‘Results’ button and this form appears:


Here you enter the sample size tested and the result. Once you’ve done enough testing and the results are OK the test result shows a Pass:


Back on the Quality order, all of our tests are showing as Pass so we can ‘Validate’ the Quality order:


The ‘Accept error’ checkbox allows you to set the Quality order status as Passed even if you have one or more tests with a Fail – you’ll probably want to use security to disable that option for most users. Click OK and the status of the Quality order is updated:


The inventory blocking order is removed:


And the Batch disposition code is updated:


That’s it folks.