[New Feature] Config to order: ERPNext version of SAP's variant configuration -- APP published, testing needed

@szufisher

  1. Once you have a new Item and its BOM dynamically generated, is the same as creating a new Item and BOM by hand in the standard way. I feel Im missing something here about your concern.

  2. The custom App creates a new normal Item, and populate its BOM with the material needed. It can also select that Item in the Sale Order automatically, or the user can select it. The rest of ERPNext would have no Idea that the Custom Item was generated by the other App (unless we want, but I dont see why)

  3. Newly created Item is a regular Item with its custom components in its BOM (or Product Bundle, if you want to being able to update it)

  4. If you need some information that is not “which materials do this item need” you can view that on the Custom App.

Another way Im thinking about:
The BOM can have a checkbox “hasVariants”, and if you check it, it transforms itself in a “BOM Template” (like the actual functionality in Items).

A Bom Template is a regular BOM with its usual ItemList, plus an ItemTemplateList, where you can add ItemTemplates.

So, maybe you have a CustomizeblePC where the user can select only the keyboard, mouse and headphones (each one in 10 colors, so normal Variations became a problem).

The BOM Template has the ItemList with:

  • The Monitor
  • Case, CPU
  • All the standard components for that item.

The Bom Template has the ItemTemplateList with:

  • KeyboardTemplate
  • MouseTemplate
  • HeadphoneTemplate

Instead of generating predefined variations of that BOM (it would be the same as having ItemVariants), you can create new BOMs on demand, and when you create it, the system ask you to fill which Keyboard, Mouse and Headphones you want. Each ItemTemplate in the list can be mandatory or not, so maybe one user leave out the Headphones. Maybe the user can modify the quantity of each one, if the BOM Template allows that.

A big plus: BOMs are multilevel, so the “CPU” could be another template, and you could customize it too (hard-drive, processor, memory, etc). Maybe an exploded ItemTemplateList on the BOM Template could do the trick.

Maybe its not the final design, but I think its pretty lean, generic and doesnt require much change, for adding to the core, now that @rohit_w is asking feedback on [Proposal] Manufacturing Roadmap Apr - Jun 2020

Or instead of BOM Template we make ProductBundle Template, or have another DocType (like when the ProductBundle was added)