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

@szufisher about the price configuration, I think formulas, are the unique way to go

@max_morais_dmm I think I see some issues in your approach (tell me if Im wrong)

So you, instead of having a lot of dynamically created BOMs and Items or Variants, you store the custom information on the product SerialNos and the stock used in each product is managed in the WorkOrder by MaterialTransfers. Am I right? Or are you reusing SerialNos?:thinking: The Excel with the predefined SerialNos confuse me.

The issues I think I see:

  1. If you have to previously define all the SerialNos to predict the exact combinations. And you have to provide an Excel to Navigate and found the right one. With Highly customized items like an object with 7 parts to colorize and 10 colors to choose in each part, the permutations are huge. If thats not the case and the user needs to create a new combination (SerialNo) on the fly, has to manually put the data, prone to error. There is not “Help” from the system to assist on the options.

  2. If you tomorrow stop using the color Red and now you have Scarlet and Salmon, you need to update all the SerialNos that you could reuse, because this approach isnt really a dynamic “Config to Order”, is a “Choose-Preconfigured-Option to Order”

  3. Similar to the previous one, if today there is no stock of a certain color, you have to add some logic to the process to detect that and dont offer to the customer.

I think that what you save on BOMs you add on SerialNos. Can you describe the problem of having Items and BOMs dynamically generated? It seems the natural way to me to handle this scenario. And one Sale order can have multiple CustomI dynamically generated Items. Once you have the Item and its BOM generated, the rest of ERPNext is the standard and intended flow

Maybe Im not getting exactly what you mean!

@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)

No, I’m not reusing Serial No’s, because for I do reuse Serial No’s I need to resell the same product combination twice, and since the product very in millimeters, the chance to it happens is 1 in 1Billion, but the same approach can be moved to Batch No’s, that can be reused.

Same point about 1, if you generate on the fly these configurations, Batch No are the choice instead of Serial No, for my case, Serial No is perfect, because to me is virtually impossible repeat an sell.

That’s why what’s configurable need to be managed as one component (Variant Product)., but the combination, dont need to generate a new product.

To My Case, the problem to have Items and BOM’s generated per sales, that yearly we will introduce in average 100K new Items and BOM’s in the database, and ERPNext really dont support well databases that grow exponencially. Things become slower after 3-4 months of usage

1 Like

If you are developer or have developer resource, maybe you can base on my existing APP to develop the non-intrusive solution, of course if you would like to share / publish the repository, I can contribute as needed.

I really like this feature even though there is no real customer yet.

1 Like

The best solution will more likely be the one with “minimum” customization. Or at least beginning with “minimum” customization.

We tried to develop a customized solution for close to a year, the effort failed. We went back to Vanila version, since then we have caused some changes with Frappe Tech, but they have been added to the core.

I will recommend that you employ Frappe Tech in some form, it really helps to have them by your side.

In case your are interested, here is my story :https://www.youtube.com/watch?v=GAwGG7bZ2Hc&t=122s

2 Likes

Just watched the video, I am interested how you used the python script to create item and BOM? is it possible to share the solution details or even the code?

many thanks.

1 Like

The entire process is done offline:
Creating Item Codes:

  • Create all possible item codes(all permutations, brute force)
  • Validate each item code based on constraints specified in CSV file

Creating BOMs:

  • Take item codes, and BOM constraints as Input
  • Based on Item Code abbreviations, select BOM rows
  • Report conflicts and resolve them using BOM constraints

Not sure if the tool will be useful as it, but the concept none the less can be used, here is link to the code https://github.com/djpalshikar/bom_creation_tool

1 Like

So, based on what I read here and in various threads, ERPNext customization is NOT a good idea, upgrades tend to break what you did. Unless you dont want to be able to upgrade in next versions, isnt recomendable (I read it many times on the forum).

So, to lay out clearly the options:

  1. One can use the Purest standard ERPNext version, and apply completely separate software to generate/inject the custom data needed (like @dhananjay does).

  2. One can make another separately App, even in another language, outside Frappe, and interact with ERPNext with the REST API and make automations that way. (Pro: you are protected even from Frappe upgrades, unless the API changes, but this architecture has a clear interface to update if needed)

  3. One can Write another Custom App inside Frappe, being careful to make it the less intrusive posible. (Pros: same platform. Cons: Frappe upgrade sensitive and ERPNext upgrade sensitive, but less than the full ERPNext customization alternative)

I will meditate on all of this and make some draft designs for my needs. Then Im going to share it here and see what could be a generic and applicable approach. I want to be fast since the [Proposal] Manufacturing Roadmap Apr - Jun 2020 is open for suggestions.

Thanks!

1 Like

Sir,

I am implementing ERPNext at a company which makes aluminum ductwork accessories and has very similar issues to yours, is it against protocol to engage someone for potential consulting in this forum?

Thank you,

Karl Tatgenhorst

Hi Karl,

Welcome to ERPNext. Hope you have a great experience with ERPNext and here on the community.

No, it’s not against the norms to solicit people to help you or your clients on consulting assignments. However we try to be subtle about offering consulting services. :slight_smile:

Thanks

Jay

1 Like

Jay,

Thank you, just to be clear I am looking for help not offering services. I’m not sure if my initial post was clear. As I am going through similar issues to the commenter that I responded to, I am looking to solicit help.

Also, so far my experience has been amazing. ERPNext is a very well built system and just the Youtube videos alone were very helpful but I am betting my progress will accelerate having logged into this forum. Thanks for your reply.

Karl

Yep. That was absolutely clear. I was just saying that to others that might read that.

Thanks

Jay

Dear @szufisher. I’m extremely new to ERPNext and still understanding the concepts involved. I’m having trouble following the instructions in the post and the github readme. It’s not your instructions, it’s certainly my understanding.

I got though the BENCH commands and it seems to be installed. What I’m having trouble with is the DocType and BOM setup. Would you mind producing a short video just illustrating the steps; so that I can “look over your shoulder” ?

I’m sorry to ask you to do more work after doing all the heavy lifting, but I appreciate any help you’d be willing to give.
Thanks

1 Like

Is there any development on this ?

sorry this was an unfinished project long long time ago,no real customer.

1 Like

Yet this is still missing and a fundamental feature erpnext should have. I just can’t be creating 12000 boms manually.

1 Like

We only have “Multi BoM Creator” option.

Which doesn’t solve the problem, right?

Still can’t massively create thousands of boms based on items attributes.

If you can get a client which desperately needs that feature @szufisher most probably supports it.

They either pay all the license fees to SAP or they pay for ERPNext Consulting + development fee for the variant bom creator.

Which brings us back to square one. Regardless of whether all the technical problems are solved, it doesn’t matter much if no one is selling it. :slight_smile: