Different BOMs for same item (Engineer-To-Order ETO)

Hello, We are a Control system integrator, we manufacture industrial control panels based on customer requirements/application, so we are an Engineer-To-Order ETO type business. So, what is the ideal process to use ERPNext for our type of business?

Currently, we have one Item called for the Electrical panel, then with each panel’s specifications we create a different BOM and link it for that item, is that correct?
because its not practical to create item code for each requested panel. we make item codes by type, then for each customization, we make different BOM.

any advices…

To me, what really sets ERPNext apart from other ERPs is that your version of ideal and someone else’s can be different from each other and both can be achieved.

I’ve done some prototyping around this and it revolves around a idea of a non-stock item that is used in BOMs as a placeholder and heavy utilization of the BOM replacement tool or its API if integrated with an external CAD system. I don’t think the first part is really feasible without customization via the class override API but it might be.

Each engineering iteration reduces the “grayness” of the as-built BOM, and also allows for a concrete demand signal to be sent to purchasing. You would want some custom reporting to help you progressively eliminate the non-stock parts from the BOM as part of the engineering workflow. I think this idea pairs reasonably well with the Item Variant feature but you wouldn’t need to use it.

Unfortunately I don’t think there’s an elegant way to do this with an out-of-the-box ERPNext install.

It sounds like what you are looking for is an item ‘Configurator’ that can take a base item or template (in your case, the item code for a certain type of control panel), and run it through a rules engine, so the user can select from one or more different options compatible with that type of panel. The resulting configuration would then generate unique BOM(s) for engineering and/or production.

We developed something like this in-house, and it’s not a trivial task, depending how complex the configurations and rules can be. We spent many hundreds of hours on our complex in-house configurator. It definitely requires a lot of custom code and custom doctypes (tables) to implement, as well as its own UI screen to allow the selection of the various configuration options.

Alternatively, there are 3rd party configurators that can be integrated through APIs that already have a rules engine and customizable UI, but those would involve substantial monthly license fees and a bunch of modifications within ERPNext.

But maybe this is overkill? You could also just create multiple BOMs within ERPNext, and assign these to an item for production as necessary, but it would be a very manual process without a configurator UI to guide you to make sure the configuration follows compatibility rules, etc.