Phantoms - ELI5

To avoid cluttering up all these other peoples threads I keep seeing…

Somebody Explain this to me like I’m 5.

I Dont Get It The Office GIF

When you set an assembly part to be phantom then all the material for this subassembly will be rolled into the phantoms parent…this is because you want to consume the material of the phantom but not show it as an assembly in a job.

The details are visible when looking at it from a BOM point of view but when the job is loaded the phantom is not visible. Hope I didn’t explain it from a six year olds point of view.

We used phantoms extensively at my last company for chemical mixtures. We stocked chemicals A, B, and C and then had a phantom part to create a final mix. The phantom part only existed for the .5 seconds the 3 chemicals where automatically mixed and then poured on to a mold.

Using phantoms made adding the chemicals to BOMs mush easier because the ratio was always the same and you didn’t need to remember to add all 3 every time.

1 Like

Sure, I can explain Epicor Phantom Part in a way that a 5-year-old would understand!

Imagine you are building a toy castle. You have different types of toy blocks, such as squares, triangles, and circles. To build the castle, you need to put these blocks together in a certain way.

Now, let’s say you want to build ten toy castles that are exactly the same. Instead of picking out all the blocks one by one and putting them together each time, you could create a special set of instructions that tells you which blocks to use and how to put them together. This set of instructions is called a “Phantom Part.”

In Epicor, a Phantom Part is like that set of instructions. It tells the system which parts to use and how to assemble them to make a certain product. So instead of having to manually pick out all the parts and assemble them every time, you can use the Phantom Part to automate the process and save time.

From Chat GPT

2 Likes

Arnold Schwarzenegger Terminator GIF by Filmin

Don’t hate because it was the best answer.

terminator 2 thank you GIF by Kim's Convenience

Isn’t that just a regular subassembly?

A phantom is more like this.

I don’t want to build a toy castle. I want to build a SUPER MEGA CASTLE that’s 10x as big as my toy castle. If I pull in 10 Toy Castles as a phantom, instead of seeing instructions for 10 castles, I’ll just pull in the 10 times the number squares, triangles, and circles into my SUPER MEGA material list.

A much better answer!!

Ok now that I understand the basics, I still don’t get it.

What I need now is a real world example.

What is is that you are struggling with?

So in the master, you can set up the parts as multi level. Then a lower level part can be set up as a phantom. When you get details onto a job, instead of being a multi level BOM, it just brings in the parts from the lower level part onto the upper level like it was all one BOM.

image

What other questions do you have about it?

1 Like

I’m not sure. We don’t use this feature, so I haven’t been exposed to it.
Just trying to wrap my head around what it does, why it exists, and what problems
it solves.

Tired of reading about things I don’t understand :slight_smile:

Never know what I may need later.

It’s just a nice way to compartmentalize things so the engineers can make a change in a single place.

Say for example you have a “Bearing package” that includes all of the pieces you need for a bearing. That package is used on 10 different models of cars. These pieces don’t get assembled on their own, they have go on into the rest of the assembly. So on the job they really go with the whole wheel assembly but the overall assembly is different for each model. Each assembly needs an “operation” in order to be completed, so having assemblies on paper that aren’t physically separated is tedious (to do the reporting) at best and confusing at worst to the shop floor.

On the engineering side, If they didn’t use phantom boms and just include the parts, every time one of the bearing package parts was changed, engineering would have to go into 10 different assemblies and make the change. If they use a phantom bom for this, they can change it in one place on the master, then that change gets propagated to wherever it’s used.

1 Like

Aha! - Starting to click now.

1 Like

This is the one use case I know of where you’d use a phantom and NOT a subassembly. It came up on this ticket, but I didn’t explain it there because the OP said no phantoms.

In the pic below you have the method (includes the part “MyPhantom”) and the Job (that part is nowhere to be seen.

Why?

Because perhaps you want to use the same exact list of materials but in different work cells.

Thus I made

  • The BOM part to be a phantom with no operations
  • A subassembly part (not phantom) that has the workcell operation and a single material that is the phantom.

When the job is created (normally - via get details or MRP - no human intervention), you get the BOM assigned to right cell (op).

1 Like

Another use case I saw was with custom cables. The phantom was one inch of each type of wire (red/white, white/orange, etc.). For each cable assembly, they would add the connectors and change the length of the phantom part. You’d never create a job to cut those cables, they were made on the fly at the time of manufacturing.

2 Likes

A post was split to a new topic: Kinetic and Kanban reciepts

Where I’ve seen phantom parts get really useful is when you have a part that gets used with multiple things in an assembly. Say for example, the flux capacitor is installed with 4 lug nuts, and each wheel is installed with 4 of the same lug nuts. When the design changes to 5-lug wheels, someone might see 20 lug nuts and assume the bill was updated before they got there, not remembering the flux capacitor. If you use phantom parts for installed wheel and installed flux capacitor, you can safely change the phantom part without reviewing the entire assembly.

Technically one could put 16 lug nuts on one material sequence and 4 on another with comments everywhere describing what goes with what but who’s got time for that. Phantom parts package up all that relational info nice and tidy, easy to use and maintain.

Where phantom parts can be a bit of a letdown is labor. Labor in a phantom part gets unpacked into its very own labor sequence that gets tracked separately. That might be okay if we’re on a production line, but these are bespoke cars, lovingly hand assembled one by one, so that detail just adds inefficiency and opportunity for time tracking errors.

Sure, but even then I’d still do a subassembly in order to keep the pathway back to what happened?? when someone made a mistake in a BOM somewhere.

Ditto, I’d still vote for subassemblies over phantoms in that case.

And to be clear:

  • A subassembly is a part marked as pull-as-assembly on a BOM but is NOT a phantom
    • Typically PartPlant.NonStock = true for that part
    • Always PartPlant.PhantomBOM = false
  • A phantom is a PartPlant.PhantomBOM = true part

I’ve personally never seen a place where I’d use a phantom over a subassembly. Except the one I mentioned. Obviously that’s an opinion, not law, but in every facet of my working life, I never say to myself, “I wish we had zero traceability here in case something goes wrong.” It’s always the opposite, where I kick myself for thinking I didn’t need it.

PS, sorry to start a fire and run, but I’m going home… To be continued…

There’s definitely pro’s and cons. But when you get shop floor workers, and you tell them you have to complete 15 operations to do with one assembly job… you’re not gotta make it too far.

1 Like

That would be a lot of part numbers! Any engineering change in the phantom would have to be done for every single subassembly created. I’ve lived that life too many times. People copy old assemblies that were missing the engineering changes.

Desus And Mero Pass GIF by Bernie Sanders

The job will always have the engineering history of what was made, right?