Production order picking list journal lines in AX 2012

There are a lot of ways of creating a production order picking list automatically in Dynamics AX 2012. You can create (and optional post) a production order picking list when you start a production order (forward flush); you can create and post a picking list automatically when you post a route card or a report as finish (back flush); and you have lots of options to create picking lists from your production order bill of material. Production control > Journals > Picking list > Picking list > Create lines:

But even with all those ways to avoid typing, every so often we get a support call where we find that the user has created a picking list manually and fallen into the trap for young players which the picking list form presents.

Let’s create a simple production order. In the demo data, item D0001 has a nice simple Bill of material of 5 components, so I’ve created a production order for 50 and started it. Now what seems to happen is that the forward/back flush process doesn’t go according to plan and the users need to adjust something. Let’s assume that we’re back flushing, and I’ve made my 50 of D0001 and consumed 50 of each of my components. Production control > Common > Production orders > All production orders > Production order > Production details > BOM:

The quantity tab is showing me that everything’s as normal as could be.

Now let’s try to adjust this and issue a few more M0001’s to the production order. Production order > View > Journals > Picking list shows me the existing journal:

And I succumb to temptation and click ‘Create new’:

Add the system’s created me a journal header, opened the lines form and it’s asking me for an Item number (that red wavy underline certainly catches the eye doesn’t it?)

So I’ll enter my item number and issue 10 more:

Click Post and everything looks hunky-dory:

But when I go back to the production order Bill of material I’ll notice something a little odd:

An extra line has appeared!

The quantities are correct – but the system isn’t really making it clear that we just over-issued one component – it looks like we’ve added another, unplanned, component:

Let’s try that again on another production order – right back a where we click ‘Create new’ and create a new picking list journal:

Don’t enter the item number!

Ignore the red wavy underline. Instead, click in the Lot Id field:

Now click the drop list arrow and you’ll get a list of the existing BOM components:

Select your item from this list:

And then enter your quantity and post:

Check your production order BOM:

No extra line, and the quantity tab makes more sense too:

In fact all of your production reporting is likely to make much more sense if you follow the process of selecting Lot Id (not Item number) when adding lines manually to a production order picking list (unless of course you are actually issuing a completely new unplanned component to the production order).

Intercompany master planning in AX 2012

Intercompany master planning links individual company specific master scheduling master plans. It’s used in a variety of scenarios, for instance, you might have a single manufacturing company that manufactures products which are sold through subsidiary ‘sales’ companies. Here in New Zealand we often see this pattern and most typically the sales company is located overseas. Another common pattern is a head office that performs a consolidated purchasing function for a group – perhaps each branch or subsidiary is setup as a separate Dynamics AX company.

To make this work we need master scheduling setup in each company – and we link the companies by setting up an Intercompany vendor in the downstream ‘selling’ company. The intercompany vendor in the downstream selling company refers to an intercompany customer in the upstream supply company. (At this point, it doesn’t matter whether the upstream supply company is buying or making the products for the downstream company).

An aside: ‘Upstream’ and ‘Downstream’ is APICS terminology that was introduced into intercompany master planning in AX 2012. Moving upstream you’re moving away from the ultimate end customer towards producers and vendors – downstream you’re moving towards your customers.

In the demo data Hyper-V we have a selling company DEMF (Contoso Entertainment Systems Germany) and a supply company USMF (Contoso Entertainment Systems USA). The Intercompany vendor in DEMF is US-001, and the Intercompany setup links this to customer DE-001 in USMF. Procurement and sourcing > Common > Vendors > All vendors > General > Set up > Intercompany:

Let’s just step through the Intercompany setup – the first thing to note is that on the Trading relationship tab (above) the relationship is flagged as ‘Active’ – forgetting to do that is very frustrating.

The Purchase order policies tab lets you define whether you can edit the prices on the intercompany purchase order – mostly I see this being disabled, because the purchase price is set by the upstream selling company (but you have the option of setting the purchase price from the buying trading partner):

The Purchase value mapping tab lets you define whether you’re using the actual values or External codes for some fields that are copied from the intercompany purchase order to the intercompany sales order (or vice versa):

The default value when you create an intercompany trading relationship for these fields (and the Sales value mapping fields) is ‘Not specified’ – but if you leave that set, you’ll get an error when you try to create intercompany sales/purchase orders.

The purchase agreement tab is pretty self-explanatory:

I haven’t come across an intercompany purchasing relationship that uses purchase agreements yet, but I’m sure they’re out there somewhere.

The sales order policies tab is almost the mirror image of the Purchase order policies tab:

But I’d just like to notice a couple of options. The first option is ‘Sales order numbering’. Here, you can specify the numbering of an intercompany sales order created when you create intercompany purchase orders. Next, you have a ‘Unit price equal to cost price’ flag – that sets the sales price to the inventory cost when the sales order is delivered. If you’re running with standard costs, that means that there’s no intercompany sales margin – but if you’re using FIFO or Weighted average you might see some margins generated by inventory cost revaluations.

The other important options here are the ‘Lines > Batch number’, and ‘Lines > Serial number’ flags. With these set the batch numbers (or serial numbers) issued to the intercompany sales order are transferred automatically to the intercompany purchase order. But note that in the case of the batch numbers, the information on the selling company’s Inventory batch master (like manufacturing and expiry dates) isn’t copied into the buying company.

Moving on, we have a Sales value mapping tab:

And a Sales agreement polices tab:

And one final note about the intercompany trading relationship setup – in AX2012 you can perform this setup from either side of the relationship – that is you can be logged into the downstream sales company and setup from the intercompany vendor, or you can be logged into the upstream supply company and do the setup from the intercompany customer.

Let’s check that this setup is working – we need a product which has been released into both companies, in the demo data D0001 fits the bill:

So in the DEMF company let’s create a purchase order for our US-001 vendor:

So far so good – when we create an intercompany purchase order the system creates an intercompany sales order.

Let’s add the item to the purchase order:

The ‘Manage’ tab shows a short-cut button that’ll take us directly to the intercompany sales order. (Incidentally the last two versions of the demo Hyper-V images seem to be a bit reluctant to open sales orders sometimes, so if you’re following this in a demo image and it crashes just re-start Dynamics AX and continue):

As we’d expect, (and shown above) the intercompany sales order demand is seen by master planning in the supply company – but that’s not really intercompany master planning.

Jump back into the buying company and setup a Demand forecast for that item. Product information management > Common > Released products > Plan > Forecast > Demand forecast:

We’ll check that master planning is going to generate planned purchase orders (on the Default order settings):

And set the intercompany vendor as the primary vendor for this item:

One final check – check that the forecast is processed by master planning by updating the item’s net requirements (I’m working in the CU9 demo Hyper-V image and at this point I had to define ‘Working times’ for the Standard calendar in the DEMF company):

Alles in ordnung. In the static master plan, master plan 10, we have our demand forecast generating planned purchase orders.

Two final bits of setup – first we need to check that in the USMF company the master plan we’re going to use is setup to inherit demand from the buying company. Master planning > Setup > Plans > Master plans:

Pretty obvious. We’ve switched on intercompany master planning and linked to the static plan in the DEMF company.

The final bit of setup is an Intercompany planning group. That tells the system which master plans to process, and in which sequence. In our simple example we need to process the master plan in the downstream selling company (to generate our intercompany demands) before we process the upstream supply company. Master planning > Setup > Intercompany planning groups:

Now we are ready to run Intercompany master scheduling (which of course, is normally setup up as a recurring batch job, just like single company master scheduling). Master planning > Periodic > Intercompany master scheduling:

So we’re selecting an Intercompany planning group – no surprise there, but we’re also asked to enter a ‘Number of iterations’. In our current simple example we only need to process each master plan once, so one iteration is sufficient – but I worked with a company which had two factories, and each supplied both finished goods and intermediates to the other factory, so a complete generation of the master plans required two iterations. For the second and subsequent iterations of the plans you’re able to use Net change or Regenerative processing. Net change will be much faster, but if you use Net change, your planners might need to group planned orders before firming them.

After the intercompany master scheduling has run, Net requirements shows the planned intercompany demand in the USMF company – reflecting the planned purchase orders in the DEMF company:

But of course, it’s not just Net requirements that shows the intercompany demands. There’s an inquiry at Master planning > Common > Intercompany supply and demand:

And more specific inquires at Master planning > Inquires > Incoming planned intercompany demand, and Master planning > Inquires > Outbound planned intercompany demand. Finally Multi-level pegging (available from various forms) shows intercompany demands – in a format very similar to Inquires > Explosion:

“Friday’s child is loving and giving”

This week we were asked to advise a production scheduler in a manufacturing plant who wanted to schedule ‘make-to-order’ production for specific customers for specific days.

Rather than look at how we do this in production scheduling we suggested the use of a Receipt calendar attached to the customer.

Here’s how this goes. We need a calendar, and to simplify the definition of the ‘Open’ working days we’ll setup a Working time template. We’ll create a new Working time template – and with a singular lack of imagination we’ll call it ‘Friday’. Organisation administration > Common > Calendars > Working time templates:

We only need to setup the working times on the Friday tab – we can leave all of the other tabs blank:

The From / To times aren’t very important – but we must leave the ‘Closed for pickup’ flag blank.

Next we’ll create our calendar – and again we’ll call it Friday. Organisation administration > Common > Calendars > Calendars:

Click on the ‘Working times’ button, and then click on the ‘Compose working times’ button. The calendar name is pre-selected. Enter From date and To date and enter/choose the Working time template created above:

When you click OK the system populates the calendar’s working time table according to the template:

As you can see Friday is the only working day in each week. Obviously you now need to tidy this calendar up by closing off public holidays and shutdown periods.

Now we’re ready to assign this calendar to a customer. Sales and marketing > Common > customers > All customers > Edit. You’ll find the Receipt calendar in the ‘Invoicing and delivery’ fast tab:

Now, before we create a sales order, we’re going to constrain those nice folk in Customer Services by setting ‘Delivery date control’. The company wide default for this setting is in the Accounts receivable parameters. Accounts receivable > Setup > Accounts receivable parameters:

As you can see, our options for Delivery date control are: ‘None’; ‘Sales lead time’; ‘ATP’ – Available to promise; and ‘CTP’ – Capable to promise.

These company-wide defaults can be over-ridded on an item-by item basis in the Default order settings, and Site specific order settings found on the Released products form.

For now we’ll assume Sales lead time delivery date control with a sales lead time of 5 days. It’s midnight on Tuesday 3rd November (no, I’m not working late, I’m on vacation in another time zone). Back on the customer form, let’s create a sales order:

Even before we’ve added an item we can see that the Requested ship date has been set to Friday 13th November. The sales lead time has taken us past this Friday, so the system’s offering us next Friday.

If we click on the ‘Simulate delivery dates’ button the system only offers us the open days in the customer’s Receipt calendar:

But we have to note that we’ve constrained the Receipt date, but we’re going to schedule against the Ship date, so one other thing you may want to do here is to setup a Transport calendar. The Transport calendar defines the lead time between the sales order line requested or confirmed ship date and the requested or confirmed receipt date. Inventory management > Setup > Distribution > Transport:

You define a Shipping point ‘From’ warehouse – and a Receiving point. The Receiving point is either a Warehouse or an Address. If the Receiving point is a warehouse you’re defining a warehouse-warehouse lead time which is used by Master planning when it’s creating planned transfer orders; if your Receiving point is an Address you’re defining the lead time we mentioned above (ship date to receipt date). In the demo data, Cave Wholesale’s delivery address is in Georgia and this gives us a Transport days of 3 days (regardless of Mode of delivery):

Now add warehouse 13 to customer as a default and create a new sales order and you get:

Looks like we should have called our Receipt calendar ‘Tuesday’ – full of grace.