I put hear an idea for the ConfigToOrder functionality that is needed I posted on [New Feature] Config to order: ERPNext version of SAP’s variant configuration – APP published, testing needed
The BOM can have a checkbox “hasVariants” and if you check it, it transforms itself in a “BOM Template” (like the actual functionality in ItemTemplates).
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 50 colors/textures, so normal Variations became a problem).
The BOM Template has the ItemList with the standards:
- 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.
Or instead of BOM Template we can make ProductBundle Template, or have another DocType (like when the ProductBundle was added)