Project forecasts for items and hours in AX 2012

Projects in Dynamics AX have come a long way – especially in the assignment of workers to projects. That’s not the topic of this post, but if you’re interested checkout the Technet Identify and assign qualified workers to projects [AX 2012] documentation, or download the two whitepapers: Microsoft Dynamics AX 2012 R2 – Resource scheduling in Project management and accounting and Worker resource scheduling in Microsoft Dynamics AX 2012 R3.

But we’re travelling back in time, to a simpler, earlier age, and we’re going to look at how we can use project forecasts for items and work centre (resource) hours.

I’ve looked at some of the various ways we can issue inventory to projects in an earlier post: Project production orders in AX 2012 R3. Forecasting the items that you’re going to issue to a project is simplicity itself. As in that earlier post I’m working in the Dynamics AX 2012 R3 CU9 demo Hyper-V image. In the USMF company I’ve gone to Project management and accounting > Common > Projects > All projects, and created an ‘Internal’ project

.

As you can see, on the Plan tab we can create forecasts for Hours, Project expenses, Items, Fees and On account transactions. Incidentally, changing the size and order of these buttons is really easy – see this post. Click on the item forecast button and the familiar (well familiar to me anyway) Item forecast form opens. Click on the New button to create a new forecast:


The system immediately fills in the Forecast model and the Project ID. The default forecast model comes from the Project management and accounting parameters form. You define the default forecast model on the Forecast tab. All forecasts have to be entered into a forecast model. One forecast model is linked to a master plan, and that’s the one that will trigger ordering based upon your project forecast. Forecast models are setup at Inventory management > Setup > Forecast > Forecast models:


Here, I’m using a Sub-model to identify my project item forecasts (and keep them separate from my inventory forecasts). Master planning includes all sub-model forecasts in its calculations, but you can only have one level of parent forecast model and sub-model.

Back on the project item forecast form before I try to enter any forecast lines I’ll use the Inventory > Dimension display form to show Site and warehouse on the Overview grid. All forecasts have to be entered with respect to a warehouse. Now I enter my forecast model, a date (the date I expect to issue the item to the project) and an item number. When you enter the item number the system will fill in the default sales site and warehouse. Finally enter the quantity you plan to issue to the project. Then the system asks me to specify a project category:


Although it’s tempting to click on the Project tab on the forecast and enter the category, it’s smarter to go to the item and set the default category on the item:


This isn’t a mandatory field when you create the item, but well worth setting if you plan to issue items to projects.

Now we’ve got our item forecast – which we can also see at Project management and accounting > Common > Transactions > All project forecasts:


When I run master planning the Item Net requirements form shows the planned demand from the project:


This is all good, except that nothing really identifies this as a project item forecast (as opposed to an inventory sales/demand forecast).

The project Hours forecast form looks slightly different. When I click on the New button I again get the default project model and project ID, so I can enter a date and a category and a number of hours:


Next I’ll click on the Resource requirements tab and define a resource that will provide the hours:


Again this form looks familiar to me – I’m used to setting up the resource requirements on production order route operations like this. There are now (in Dynamics AX 2012) a lot of options for defining how the system can select resources during scheduling – but I’ll stick to the simplest, and assign a single resource (a work centre in old money):


Unlike the item forecast (which is processed by master planning as soon as it’s created) you don’t see the Hour forecast as a capacity reservation on the resource until you schedule the hour forecast. Click on the Scheduling > Resource scheduling button and the Scheduling form appears:


The ‘Scheduling’ parameters look a bit odd, but there are some familiar elements (if you’re used to scheduling production orders), the In/Out options are Forwards and Backwards, the familiar scheduling directions.

However one odd feature here is that the Scheduling date on the Scheduling form is used to schedule the hours forecast – even though the project date is mandatory when you enter the project hours forecast it isn’t used. I’m setting my scheduling date to 14/03/16 and clicking OK. The scheduling tab now shows that capacity reservations have been created by the scheduling:


You can see these on the Scheduling > Capacity reservations form:


Another form that looks familiar to me, from the resource you can see the same display:


And on the References tab you can see that these are Project capacity reservations:


You may have noticed that we’re in the Dynamic master plan – these capacity reservations are copied into the Static master plan the next time you run master scheduling and regenerate the master plan.

Two more things and then we’re done. Firstly, there’s a Line number on the General tab of the Project Hours forecast:


If you have more than one resource to reserve (and of course in a real example you might have) the reservations are made in Line number sequence.

The other thing is that the Edit button displays options for copy, update and delete:


There’s a similar form for the project item forecasts. Use the select button to select the forecast; select the update you want to perform; and OK to process.

There is of course another way to generate capacity reservations for your project and that it simply create an item forecast for a production item with a route – but this option (adding an hours forecast to your project and generating capacity reservations directly for the project) works well for project activities not directly related to production items (for instance plant maintenance, or new product development).

Project production orders in AX 2012 R3

I’m a bit scared of projects. Even the module name puts me off. Project management and Accounting would be two components of my Room 101. Anyway, once in a while we’re discussing manufacturing we come across a process that is best configured as a project, for instance the ‘New product development’ process. Typically, near the end of the new product development process we want to schedule and run a ‘real’ production order. We want to schedule this production (so that we can see that the resources are booked), and it’ll consume some raw materials, ingredients, packaging and intermediates, however this production order isn’t going to produce any sellable product. Although it’s simple enough to run the production order and then write the production order receipts off with an inventory journal –we were looking for a more elegant solution: run the whole NPD process as a project and run the pilot production as project production orders. But before you get too excited and try to read on, there are two significant gotchas: you can’t use project production orders with Formula items; and if you have a costing sheet active you can’t post costs to the project as you go through the production order – you have to accumulate costs on the production order and post those costs to the project when you end the production order.

So first I’m going to create a project. As usual I’m working in the Dynamics AX 2012 R3 CU9 demo Hyper-V image. In the USMF company I’ve gone to Project management and accounting > Common > Projects > All projects, and I create a new ‘Internal’ project:


(In my demo data I had to create the ‘internal’ project group). Also I found out the hard way that if you want to use item requirements to issue to the project you have to enter a customer – I guess that for NPD that will be a dummy internal customer required simply because we need a customer to create the sales order that holds the project item requirements.

Before discussing the various ways of issuing inventory to the project, for completeness I’ll just mention in passing that this project accumulates costs from Hours journals, and Expense journals, as well as the inventory items that are issued to the project, and of course the project can have a forecast and a budget.

There are a few ways to issue items to my project. First, I can create and post a project item journal. The form looks like, and works like, an inventory journal:


As soon as I create the journal line I can see it in the Pending project transactions inquiry:


And when I post the journal I get a Posted project transaction:


And of course I have an inventory transaction –


In this example item is using FIFO costing which may get revalued via re-calculation – the posted project transaction and all of the project reports get updated too:


Another way of issuing items to a project is to create a project item requirement. As I said before, you need a [dummy] customer before this will work:


The form here is a simple list grid, enter the item(s) you want and the pick from warehouse:


In the background the system’s created an ‘Item requirement’ sales order:


This sales order is processed through picking and despatch just like any normal sales order – and you can perform those transactions from the sales order itself or the project item requirements form. The item requirements don’t show up on the pending project transactions form, but of course there’s the normal inventory transaction:


Note that the reference is ‘Sales order’. The indication that this is a project item requirement is the project on the Other tab.

Interestingly when we post the sales order packing slip the inventory transaction is financially updated:


Again, as expected it now shows up as a project posted transaction:


Actually that’s another thing I like about projects – they let you de-couple physical despatch from invoicing. This is an internal project and I never intend to invoice anyone, but this could be an external project, and item requirements provide a good link into the inventory system for those projects.

One last thing before we talk about production orders. I can create a project purchase order:


This gives me a normal purchase order, with a reference to my project on the purchase order line (and on the purchase order header ‘Setup’ fast-tab).


Again, there’s no pending transaction on the project. The inventory transaction is more interesting though: the purchase order receipt is marked to another transaction which is going to issue the inventory to the project when it is received:


The reference to the project is shown on the ‘Other’ tab on both transactions. Because this issue happens automatically, you don’t want to use an ‘advanced’ (WHS) warehouse for receiving project purchase orders. Once I’ve posted my purchase order product receipt I can see that the issue transaction is also physically updated – and therefore I didn’t actually receive any inventory into on-hand:


Still no pending project transaction though.

When the purchase order is invoiced, my issue transaction is financially updated, and I get a posted project transaction:



Production orders. Having walked through the purchase order you should be well ahead of me by now, except for a twist. There’s a parameter at Project management and accounting > Setup > Project management and accounting parameters > Production:


When the ‘Posting method’ is set to ‘Finished item’ the processing is pretty much as per a purchase order. The production order item costs get posted to the project when the production order is cost ended. However when the Posting method is set to ‘Consumed’ the project accumulates costs when picking list or route card journals are posted to the production order.

So let’s run our new product development production order and see what happens. I create a new production order from the project:


I get the ‘Create production order’ form showing me my project as a reference:


Note. That this is ‘Create production order’ – I can’t create a batch order for a formula item, I can only use a BOM production item here. I have to fill in a Category and Line property but notice just above those fields is my ‘Posting method’ defaulting from the parameter above – but changeable. Create gives me my production order and as with the purchase order the system’s creating an issue transaction to consume my production order receipts onto the project when I post the report as finish. Again, as per the purchase order, no pending project transaction.

You might expect the project to be mentioned in the production order references, but that isn’t the case, instead a ‘Project’ fast tab appears:


I’ve created a simple bill of material and route, so I start my production order, post the picking list and route card. The production order shows me the costs accumulating onto the production order, but at this stage the project isn’t seeing any of those costs.


The report as finished update also updates the project issue transaction:


But the project still doesn’t see any costs.

Let’s end the production order:


Now the project sees the cost:


Let’s try that again – this time with Posting method set to ‘Consumed’. Remember the restriction I mentioned before – you can’t use ‘Consumed if you have a costing sheet setup. In most manufacturing environments the Costing sheet is used to apportion overhead costs to production orders, so I’m not sure how useful the remainder of this walk-through is going to be, but I’ve flipped into another environment where I’ve deleted the cost sheet. Now I’ll create the production order as before, but this time I’ll change the Posting method:


This time when I start the production order and create a picking list journal and a route card journal I get pending project transactions:


And when I post the picking list journal and the route card journal I get posted project transactions:


So now, when I post my report as finish and end the project although I get an inventory transaction posted to consume the on-hand I received, I won’t get any more cost posted to the project.

As I said before I’m not sure how practical the ‘Consumed’ method is – I’ve always setup a costing sheet and therefore that precludes that Posting method – but if you do get into using this note that there’s another Project management and accounting production parameter ‘Set subproduction to Consumed’. If your production BOM has ‘Pegged supply lines creating reference production orders you probably want those to post costs the same way as the parent production order.

Also, there’s another way to link a production order to a project. Create an item requirement and create the production order with reference to the item requirement sales order line. That’s the technique that you have to use for a Formula item. First create the item requirement:


Then go Inquires > Production:


Now we’re creating a batch order with reference to the item requirement sales order:


Notice however that in this case the production order reference is to the item requirement sales order and the project isn’t mentioned explicitly on the production order (no project fast tab visible). Process the production order through to report as finish and then issue the product to the item requirement and the project accumulates the cost just like any other item requirement issue.

All in all I think this project functionality has a lot to offer a manufacturing company.