Production order statuses in Dynamics AX

I don’t usually use flow charts in my workshops – but I make an exception whenever we’re talking about processing production orders – because the production order has so many statuses and we need to define how a production order will be processed for each company (and sometimes for each separate production unit). That is, we need to define which statuses will be used and what they all mean.

I almost entitled this post “Why you should set production orders to ‘Reported as finished’ but realised that there are more statuses that you should use, and some you shouldn’t.

So here goes.

First, the flow chart. This is an example of a production order flow where we are back-flushing component/ingredient consumption and there’s no route operation hours or costs. I’m emphasising example because you have to analyse your own situation and develop your own production order process.

OK – so we’ve got that out of the way, now let’s walk through the various statuses that we’re using (or not).




You’ll normally only see this status when you create a production order manually – although you can setup master planning to create ‘Created’ production orders when you firm a planned order.

The Item BOM has been copied to the production BOM. The production BOM can be deleted and re-copied

The Item route has been copied to the production Route. The production Route can be deleted and re-copied

The production order can be deleted

Master planning processes the production order (parent) item only.

There are no demands on components

There are no capacity reservations


Phantoms have been exploded. (The Bill of material items and route operations from the phantom are copied into the production order BOM and Route, and the phantom item is deleted from the production BOM).

Planned inventory transactions have been created for the production BOM component items. Component items are scheduled for the delivery date of the production order (i.e. no production order lead time).

Sub-contract purchase orders (and Sub-production orders) have been created.

The production order price calculation is created.

You don’t normally see this status, because normally you’d just Schedule the order.


Capacity is reserved

Components are scheduled according to beginning (or end) of their ‘deliver to’ operation


Shop floor documents are printed


Material can be issued, hours recorded, and production reported as finished

<Issue materials> <Record hours> <Report as finished>

Reported as finished

All outstanding inventory transactions (issues and receipts) are deleted.

Outstanding capacity reservations are deleted


Physical inventory accounting postings are reversed.

Financial inventory postings are created.

No further transactions can be posted.

The production order can be deleted.

So Some rules:

  1. You should never have ‘Created’ production orders. Master planning processes the ‘supply’ side of a ‘Created’ production order, but there are no derived requirements or capacity reservations. If you create a production order, schedule it immediately – no exceptions.
  2. You don’t need to Estimate production orders. If you schedule a ‘Created’ production order, Estimation is performed for you automatically. The exception to this rule is the next rule. A scheduled production order is more use than an estimated one – so schedule, don’t estimate.
  3. If you change the production order quantity or BOM lines quantity you must re-estimate the production order. If you change the production order quantity a form pops up prompting you to re-estimate the order:

    If you don’t re-estimate and reschedule, the BOM line components are still calling for their original quantities. This means that either you will order too much of your component (or, as happened to us last week) you will run out half-way through your production order, because someone increased the quantity on the production order but didn’t re-estimate.
  4. You don’t need to Release production orders – so this is an optional step, but sometimes it’s used by planners to signal to the shop floor that they can start the order (and the production order is updated to ‘Started’ on the shop floor when work actually starts) – but mostly I’ve seen this step left out of the process.
  5. You should start a production order. The production order status must be ‘Started’
    before you can issue materials; record hours; or report as finished. But the system will perform Process > Start for you if you jump directly to Report as finished – however my personal preference is not to rely on the system performing this step for you – and you perform it manually.
  6. You should not reset the status on a ‘Started’ production order unless you know exactly what you are doing. If you reset the status to before started and there are any postings on the production order – (that’s picking list issues; route/job card hours; and/or report as finish quantities) – the system will try to reverse all of those postings. Even if it succeeds and posts all of the relevant journals – that’s probably not exactly what you wanted to happen.
  7. A Production planner / supervisor should set the production order to ‘Reported as finished’. This is telling the system (and everyone else) that you don’t expect to do any more work on this production order. You don’t expect to make any more product; you’re not reserving or planning to consume any components, ingredients, or packaging; and you’re not reserving any production capacity – but you can still post transactions to the production order if you need to (for instance in the case that something got mis-reported or forgotten).
  8. Ending a production order is a financial transaction so it’s normally performed by someone in the finance department – or someone responsible for the budget or financial performance of the production unit. You can’t post any transactions to an Ended production order – and you can’t reverse the Process > End, so before you set the status to Ended you have to have checked the production order postings and variances and you have to be sure that everything is posted correctly.
  9. You shouldn’t tick ‘Reported as finished’ when you Update > End a production order:

    Well, this is only relevant if you’ve ignored rules 7 and 11, but that tick allows you to End production orders that aren’t Reported as finished, and at the same time report as finish the remainder of your production order – so you could be implicitly performing an inventory update – so you’re breaking rule 8 as well.
  10. Before you perform any production order updates set your user default values. For instance on the Process > End form, there’s a Default values button:

    Click on it and you see:

    Every new user should be given a setup script that they have to walk through setting their user defaults for each and every production order process transaction before they are let loose on production orders.
  11. And finally, you can enforce some of these rules on the Status tab of your production parameters (which can be set by Site, as well as by company):

Lastly – and it’s not really a rule – but notice that you can’t cancel a production order. On sales orders and purchase orders you can cancel lines – so the evidence is there that there used to be an order, but you don’t want it any more. Sadly, there’s no equivalent in production – so if you do need to cancel a production order you’re going to have to reset the status to ‘Created’ and delete it and then have some manual process which will update previously printed schedules and production documents.

Firm a planned production order with marking in Dynamics AX

So this came up the other day – and caught me out. We were reviewing the master planning setup for a make to order (MTO) product.

There are two ways of processing MTO items in Dynamics AX: the first is to create the production order from the sales order line:

From the sales order line choose Product and supply > New > Production order, and the system opens the ‘Create production order’ form, and you’ll notice that the production order is being raised with reference to the sales order:

Obviously, Reference number is the sales order number, less obviously, Reference lot is the sales order line.

After you’ve created the production order you can see the sales order reference on the production order:

(Don’t forget to schedule the production order after you’ve created it.)

Incidentally, back on the sales order line notice that the inventory transaction status is now showing as ‘Ordered reserved’, and once the product is received from the sales order it’s immediately reserved, and the sales order line inventory transaction’s status becomes ‘Reserved physical’:

Also, if the item is batch or serial controlled, the batch or serial numbers added to the production order are immediately transferred to the sales order. However, note that this process will only work if the production order receipt and sales order issue are the same warehouse.

The other way this can be setup, is to use master planning to create a planned production order. For a make to order item you will use a Coverage group with a coverage code of ‘Requirement’:

So, I create another sales order line, and I’ll run master planning, and that creates a planned production order:

Now before I firm this planned production order, I’m just going to back up and point out a bit of setup. In the Inventory management parameters, I’ve not ticked ‘Reserve ordered items’:

Now that little tick box has been the subject of its own post, here so I’ll not labour it now. But notice that it didn’t stop the sales order line reserving from the production order above, and nor will it below.

I’ve set my MTO product up with a simple, a very simple, bill of material:

And, as luck would have it, I don’t have any stock on hand of that component, but there is an open purchase order due to be received:

So back to my planned production order – I’ll firm it (or pedantically one I created earlier), and on the Setup tab I’ll requested Extended marking:

Although you’ll find this setting on the Master planning parameters, the system actually uses the last setting you used on the Firming form.

As before, the production order shows the sales order reference:

And also the sales order line shows the production order reference:

So far so good – but quite un-expectedly the component is also marked to its incoming purchase order:

And to support the marking, the inventory transaction on the purchase order line is split:

Of course this is a simple example – in practice this creates problems if there is a simple common raw material (like zinc, or plastic) you can quickly end up with hundreds of additional inventory transactions, or you can find that the system’s marking to purchase orders when you have on-hand – but the on-hand is pegged to safety stock.

So as I said at the beginning, this came up when we were looking at master planning, and the company had adopted this second process (firming planned production orders with Extended marking) as opposed to creating production orders from the sales order lines. That’s understandable – you’d expect your production planners to be working from a planned order form, not from sales orders.

However, neither process is perfect. The major problem with relying on master planning to create a planned production orders is that if there is ever on-hand inventory of the make to order item that isn’t physically reserved to sales order (for instance if you process a sales order return, or cancel a sales order and don’t cancel the corresponding production order and end up making something) then master planning just doesn’t create the requisite planned production order.

So actually in a true make to order scenario I like to rely on a customisation that creates the production orders automatically (and schedules them) – typically when the sales order is confirmed.

I confess that I have no idea why in the second scenario the component is being marked – if I find more information I’ll update this post. I’d also be interested to receive any comments if this has caused you problems in your environment.

Select a production order route based on order quantity in Dynamics AX

When you schedule a production order you often have to set the system up so that it chooses a production resource based upon its availability, but unless your company is making widgets you sometimes have to take into account the order quantity. This is true of more or less any liquid that is produced in fixed container like a reaction vessel or vat.

So first I’ll setup my simple finished goods item with a simple bill of material (one component / ingredient):

You’ll see that I’m working in the ‘New Dynamics AX’ (AX 7 in old money), but everything I’m doing here applies equally to AX 2012 and AX 2009.

Before I can setup my route, I need work centres (resources) and a resource has to be created with a resource group – so I need one of those too. My resource group is called GMIXERS and my work centres are M-BIG and M-SMALL:

Incidentally I noticed a small change here. In AX 2012 you set the resource calendar on the list grid that links the resource to its resource group. In the current version, you setup the resource calendar on the Calendars fast tab.

Next I need an Operation, and Operation relations, and in this case I’m going to setup two routes, first a route that has a resource requirement for my small machine:

Before I set the resource requirement I need to change the Route code from All to Route, and select this route number, because I only want this resource selection to be related to this route (not the other route that I’m going to create next). Then I can choose the recourse I want:

And then another route for my large capacity machine:

Now let’s mosey on over to the item (released product) and setup two route versions, and of course I’m going to set the ‘From quantity’ as needed:

Then I approve and activate the route versions. I can have more than one Active route because of the ‘From quantity’ selection.

The last bit of setup I might need to make is to constrain my order quantities using the Default order settings (or Site specific order settings). Unfortunately, there is no ‘Production’ tab. The Inventory tab is used for the default for inventory transactions (for instance planned transfer orders), as well as production – so it’s quite likely that you will need to compromise here. I’m going to use these default order settings:

Now let’s see if this works. There are a couple of tests I need to make – first is the correct route chosen when I create a production order manually?

All good there, as long as when I change the quantity I click Yes when I see the pop-up message:

I’ve set a safety stock of 500 and master planning has created me two orders for 200 and one for 100:

I can use the Route button to check that the correct route has been selected (or I can use the capacity reservation inquiry):

From the orders for 200 I see:

And of course from the order for 100 I get:

Everything is setup and working as expected – but the Default order settings don’t give us many options for constraining the order quantities for batch production. In this case I deliberately choose my order quantities to be nice round numbers and multiples of each other (100 and 200) – but what if I had three machines with capacities like 1750, 2300 and 4150? There’s no way the Default order settings can give me an order of one of those sizes – and anyway as I said before you might not want to use default order settings to constrain default order quantities – because you might want to use them for inventory (where the default order quantity might represent a carton or pallet – a small part of a production batch).

I thought that there would be a solution using Formulas and Batch production orders – but I couldn’t figure it out at first. Thanks to Colby Gallagher for answering my post on the Dynamics AX Community Forum.

There are more options on the setup of a Formula version (as opposed to a BOM version), specifically there are two additional fields, Formula size and Formula multiple.

It’s actually easier to see the setup I’m using in the AX 2012 list grid – so here it is:

(It turns out that setting the ‘From formula size’ = zero on the first formula version is important to getting this working).

I don’t want master planning to generate planned production orders larger than my largest production vessel but I don’t need to set the minimum or multiple, so my Default order settings are:

Now I just get these specific quantities on my planned orders.

For instance:


Thanks Colby!