Flatten a BOM

Before I devote my life to this has any of your clever people written a script or function of some kind to flatten out multi-level BOM’S?

Our product management team want to restructure our BOM’s so they are single level. Having a BOM within a BOM is causing them some issues so they want to build a new set of BOM’s for the main part that incorporates all the components of any sub assemblies. We will then delete our existing BOM’s and upload these new flattened structures

Anyone got a query they can send me!? :wink:

Epicor has in the help instructions for writing a BOM “Walker” BAQ that will just walk through a BOM for you, you should then be able to take that output and do with it as you wish! (mix it up DMT etc)

1 Like

And they are aware that this will cause some issues too? First will be maintainability. Where they could change one assembly and have it reflect in all other assemblies, they will now have to change every single assembly. They will also have to write a custom Where-Used to find groups of parts instead of a single part.

What issues are they having with the multiple level BOM?

@richard_cj_gardner This thread has a few examples.

Just curious about your existing BOM’s, how many levels deep, number of overall part numbers?

I flattened some structures but… it’s been a few years. At that time BOM’s involved several thousand materials, 9 levels deep.
One thing I remember now is that large structures like this, once flattened, the methods could take FOREVER to load and/or modify in either the Engineering Workbench or Job Entry.
i.e. even though I’m a big fan of flattened BOM’s, subasms can end up being a better approach in some cases.

1 Like

Thanks all for your suggestions. Have made some headway with what’s been sent.

In answer to the common questions, the truth is that the team that wants to do this are really distribution only - We collate products in something more like a kit and just use the BOM as a database really. We don’t manufacture or use jobs so in the scope of what we are doing here a flattened BOM makes a bit more sense I think as we wont pre-build the sub assembles or use MRP/Scheduling or have different resources making the sub component at the same time. So yeah a little bit of system abuse and mismanagement going on lol