CLOSE
CLOSE
https://www.sikich.com

Phantom BOMs in Microsoft Dynamics AX: Their Role in MRP and Costing

Phantoms are a very common phenomenon in manufacturing. We should use the term ‘Phantom BOMs’ as a more precise description of the topic. The more complex a manufactured piece of equipment is, the higher the chance there will be phantoms in the BOM. How do we explain the need for phantom BOMs in a business?

In the engineering design process, there is a need to define certain sections of the equipment in a BOM, although it is nothing you could ever build or assemble in the typical sense; it represents a function in the equipment. Such elements are too deeply integrated with other pieces of the finished product to represent traditional parts or subassemblies, for example a hydraulic system. The hydraulic system certainly represents a distinct functional segment in the design of equipment but will never be assembled in isolation. This is a perfect example of a phantom-BOM. The real BOM that contains all the pieces required for the hydraulic system becomes a phantom-BOM in the end item that uses it. Now we have the ability to copy this phantom BOM to other finished products, which is one of the essential reasons to have phantom-BOMs in the first place.

APICS says the following: “Phantom bills are a coding and structuring technique used primarily for transient subassemblies. The phantom bill represents an item that may not exist physically but is treated as an accounting unit”. From an accounting perspective, one can also say that the phantom-BOM represents “work in process”.

Sometimes phantom BOMs are also used to represent options for configurable products. A phantom BOM can certainly be a multi-level BOM by itself that contains more phantoms on lower levels. I have seen phantoms in almost every implementation, the record holder (for now) being a 6 level phantom assembly for some type of involved packaging.

Every ERP system has phantom functionality, or be more precise: “functionality to support phantom-BOMs” .The decision that something should be a phantom BOM is often made by a design engineer, but sometimes it is a later decision made by the manufacturing engineer.

All ERP systems handle phantoms the same way. The two areas at play are MRP and costing. MRP is not simply creating any planned production orders for phantoms. Instead, MRP explodes right through phantoms, taking only lead time and quantity into account. Costing similarly blows through the phantom, taking only quantity into account.

In the overview below I want to point out a few details that are specific to Dynamics AX and how it handles phantoms, including some interesting differences between AX 2009 and AX 2012.

The phantom checkbox on the Released product in AX 2012

Let’s first find the “phantom” checkbox in Dynamics AX 2012:

We find this checkbox in the Engineering fast tab. It does nothing by itself, it triggers the line type “Phantom” in the BOM line. There is no other functionality tied to this checkbox. The functionality for phantoms is triggered by the BOM line type only.

Above we see a BOM line that has line type “Phantom”.

Phantoms and planned production orders

The visibility of planned orders for a phantom is an interesting topic. Before AX 2012, planned orders for phantoms simply did not exist in AX. They showed up in the MRP explosion tree as “(dynamic)”, indicating we didn’t really have an order, but we had to show something in the tree to get the complete explosion picture. But when we right-clicked on the planned order number, there was no record.

In 2009 and earlier versions, the user cannot go to a planned production order for a phantom item, because there is in fact no planned order. Yet in AX 2012, there is now a planned order with a checkbox “directly derived”.

Upon trying to firm such a “directly derived” planned order, an error message is shown:

I would call this a slight regression in functionality and hope we will return to the invisibility of these phantom planned orders in the future. In AX 2012 we have to filter out these planned orders to not confuse the master planners too much.

Building a phantom to inventory

This is no problem in AX. Although there is a checkbox “Phantom” on the item, this only serves to trigger the default phantom line type when the item ends up in a BOM line. So when I create a production order for a Phantom item, AX does not really know that this item is a Phantom. I can create inventory for phantoms and I have seen companies doing just that. It could be this assembly is a phantom in certain types of equipment but an exchangeable unit in others. Or it is a spare part. However unlikely this seems, I have seen more then one case of this. Dynamics AX will allow it all, but we had better know ahead of time how we would consume any phantom inventory we created because MRP will never see it. We would consume the phantom if we change the line type in our Prod-BOM before we do “estimate”, as a special case. Mostly the consumption would take place through sales orders, service orders, or journals where we simply put the phantom part number in the transaction and the system will consume it without a problem.

Phantoms and routings

If I use phantoms, I really should put the labor associated with this assembly in the routing of the higher level item. We can call this a best practice, but exceptions are easy to find. If I build this phantom separately sometimes, I may have to put a routing on it. What happens in AX when the phantom has a routing of its own? Let’s discuss costing first. The routing on the phantom is included in costing. That is not a big surprise. More spectacular functionality is the following: If I estimate a production order, the phantom routing is copied to the parent item routing and added as the first operation(s). One caveat is that the Production order suddenly has a bigger routing so the scheduling will result in different start and finish dates than this order had during the MRP-run. But in the big picture this should not make a difference. An example below:

The top level item FG01 has two routing steps, as seen below:

The phantom also has two operations:

When I have a production order for top level item FG01, I get the following route, after estimating.

The phantom routing is inserted before the finished good routing.

Linking BOM lines to operations when the phantom has no routing

Here we venture into a problematic area where customization has been necessary. If I have linked items below a phantom to the routing of the higher level assembly, these links are not preserved when the phantom disappears. All BOM-lines get operation 10.

If I don’t have a routing for my phantom and I would like to link the items below the phantom to different operations of the higher level routing, I can’t really do that in the Phantom-BOM itself. I have to wait until the phantom is gone, and I could do it in the Prod-BOM when I am past ‘estimate’, but this is not very practical. There is good news: when typing in operation numbers on BOM-lines, the system does not check whether these operation numbers actually exist. This fact makes an easy customization possible to preserve the operation numbers on the BOM lines below the phantom. After setting the estimate status of the Production order, I end up with the BOM lines below the phantom nicely linked to the operation they belong to.

Linking BOM lines to operations when the phantom has a routing

If I have linked items in the Phantom-BOM to the operations of the phantom-routing, the standard system has no problem. Because the operation numbers of the phantom routing do not change during the “merge” with the higher level routing, the links of the items with the operations will remain intact. But if I had BOM lines of my Finished good BOM linked to the finished good routing, I will lose these because the operation numbers of the Finished good routing are changing. (See the earlier section on phantoms and routings.)

Work center consumption and phantoms

This was a problem area in AX 2009. When “Work center consumption” was checked in the BOM-line, planned orders for items below the phantom could not find their warehouse when the phantom had no routing. The logic was counting on the presence of a routing on the phantom. If that routing was missing, no warehouse on the production unit (AX 2009) was found. A hot fix was needed for this.

The same fix was later applied to the “Max report as finished” where the same problem occurred when we exploded all the BOM levels; the system could not find the warehouses for the BOM lines below a phantom. In AX 2012 this problem has not occurred.

Purchased phantoms

A few times I have been asked if Dynamics could handle a “purchasing phantom”. In AX there is no functionality for this and one cannot imagine what that functionality could possibly be. I assume the meaning of the question was in context of a Make/Buy situation where I start buying an assembly that I have previously defined as a phantom. This is no problem in the system.

Phantoms and Lean manufacturing

Is there any conceptual relation between the two? There sure is. Lean manufacturing favors flat BOMs but when it comes down to actual transactions, just like in traditional discrete manufacturing, introducing phantoms reduces the number of production orders we have to deal with. In other words: we will have a lot less transactions. One can call phantom BOMs an excellent concept to support lean manufacturing. Now let us look at the software reality. In DAX 2009, a manufacturing Kanban was simply a quickly processed production order that went from status “create” to status “Report as Finished” in one click. If the PROD-BOM contained phantoms, they were removed during estimate and everything worked fine. In 2012 Lean manufacturing however, the manufacturing Kanban is not a fast version of a production order anymore. There is no status of the manufacturing Kanban where phantoms would be removed! But testing showed that there is no problem. The Lean module handles phantoms just like a production order handles them. They are removed and their quantity is multiplied into the components below the phantom.

Phantoms below phantoms

This is a short topic as there is not much to say. There is nothing different in the functionality in AX if the Phantom BOM contains lower level Phantom-BOMs. As soon as I estimate my Production order, they are all gone.

Have any questions about Phantom BOMs and how to utilize them in Dynamics AX? Please contact us at any time!

First published in MSDynamicsworld 12/17/15

This publication contains general information only and Sikich is not, by means of this publication, rendering accounting, business, financial, investment, legal, tax, or any other professional advice or services. This publication is not a substitute for such professional advice or services, nor should you use it as a basis for any decision, action or omission that may affect you or your business. Before making any decision, taking any action or omitting an action that may affect you or your business, you should consult a qualified professional advisor. In addition, this publication may contain certain content generated by an artificial intelligence (AI) language model. You acknowledge that Sikich shall not be responsible for any loss sustained by you or any person who relies on this publication.

About the Author