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.