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

Anyone interested in this topic or would like to contribute are welcomed


@szufisher I have did various discussions with @adityaduggal, about that subject, him works with drills manufacturing.

@adityaduggal, I bilieve the proposition of @szufisher can be an gamer changer for companies like you

@szufisher I do have one behavior much more simpler in mind, that was associate the inner configuration table into the Batch of ERPNext, because it will allow us to segment the Stock by Batch.

For example one laptop production scenario.

An manufacturer produces 3 laptop models:

Model X, Model Y and Model Z

The difference between Model X, Y and Z is under the chassis, but they can have internally all the configurations.

So when Maxwell decide to buy an computer from this seller, him pick

  • Model Y
  • Memory - 16Gb
  • 1 Ssd
  • 1 Graphic Nvidia Cuda
  • 1 HDD 1Tb
  • 1 Keyboard with Backlight
  • 1 Screen with 15’’
  • 1 Power Adaptor in Brazil Standard (110v, 220v 3 pins)
  • Wireless Network Card

All that configuration is identified with the Batch No MDL-Y-120384

So these are the configuration of the computer that will be produced to Max.

In therms of BOM, we do have an Major bom for the Model Y with Screen of 15’', where the chassi size is define.

In the operations table we do have one operation called assembly boards, where the Inner BOM basedly on the configuration Max pick will be placed, and this will split one sub Work Order, for this operation, basedly on that Sub-BOM.

When the manufacturing is finished, and it enter on stock, it enters associated with the Batch No MDL-Y-120384.

So, when the producer looks the stock of Model Y him identify that, him have in hands 30 units.

But, him find in these 30 units how many units matchs one specific configuration, using one auxiliar report.

But also, him is able to determine how much is the cost of the general production of the Model Y, and how much is costing the Model Y with one specific configuration.

I believe that to solve that problem, we will need some kind of BOM Variant Generator, where we can associate the possible variations with one Master BOM and the Inner BOM’s where each inner BOM is directly linked with the Batch No.

1 Like

CPQ : Configure Price Quote could be a huge value addition for sellers of custom furnitures, kitchen assembly companies or other companies.


Well as @max_morais_dmm has rightly pointed out that we are looking for a way to manage alot of different variants but can’t seem to find a perfect solution. But going by the text I was not fully able to understand that how could it be beneficial at our end.

I have no issues in getting into a new line for item naming as long as it makes life easier for us to manage the items and especially the BOM since due to the complexity of the BOM at our end mainly due to the options available the BOM is never defined at our ERPNext instance for our usage.

I would love to use BOM but not in its current avataar and if this update does improve the BOM definition process them I am all for it and would be happy to contribute to the same.

well, my draft solution description is not clear enough to you?
what do you mean contribute? invest money? as trial run user to test? hire developer to coding?

Initial version of the solution development has been done, updated with screen shot and design highlight, any comments?


I think it is a very good idea. We manufacture welding rods and will manufacture corrugated plastic pipes. Variants do no work for us because that would create a lot of never used (redundant) items. However, the approach is the same, we just need to be able to set the configuration based on customer’s specification.

I went through the design specs, looks solid. If you need testing, I am ready.

1 Like

Is this an APP or this is going in a as a pull request? Thanks

I am considering to make a new app,but need some small bug fix to the core. if core team accept this design I can submit PR also,but per experience so far,PR is never easy to be merged in the end.

For the example of the computer, you will probably have to support the Item Type → Manufacturer → Model heirachy.

For example

Monitor → Samsung → SM402W
Hard Drive → Western Digital → WD200-16-SC

seems a new link control which supports tree structure navigation needed

@szufisher we started out with close to 1 million item codes and BOMs.
We have now come down to around 400K Item codes and BOMs on our system. We are doing fine with this approach.

The config to order may have certain limitations:

  • It will take longer to complete a Sales Cycle once it is live
  • Selecting a valid configuration applying constraints will require to set up, update and maintain some script.
  • The above requires a skilled set of people.
    I think even if you have unused item codes, BOMs lying around it does not really make a difference.
    Even if there is some cost in updating BOMs and Item codes when we make changes, it outweighs making a configuration every time a Sales Engineer has to quote.
  • Generating a BOM will only be possible for simple straight forward conditions.

However there is merit in a two pronged approach, where once you have created most your item codes and BOMs, creating the next few could be more simple.

1 Like

thanks for your valuable feedback.

@szufisher Thanks for your message, I think this could be a good way to solve the config problem.

For my case, there are 2 relevant options, I didn´t see in your post:

  1. Is there a way to generate automatically the name for the product?

Example: You config a computer with a Samsung HDD, 2x 16GB Ram, Standard monitor and keyboard type 2.
The places for the options will every time the same, so you could generate a “code” like:

Is there a way to generate automatically a code like this → COMP/SAM/16G/2/SM/K2

(Set a “short name” for every item and separate them with a “/”. A “-” for separation isn´t a good solution, because in some configs you have select a range or you have to select a negative value)

  1. Is there an option to “reconfig”? (I think it will work, but not sure)

Is you have 20+ Options and a costumer would like to order a device similar to the last order, but 2 options are different, it would be nice to select a code from one of the last orders for this costumer and only edit the 2 options.

In our case, we would like to monitor, which configs are ordered most of the time and with a code like this, it will be easy to set a filter. Also you can set an alert, if the same code are requested from 2 or 3 customers. In case a request come from one costumer for an item with this config an 2-3 days later you will get a request for the same config from a reseller costumer. So you can check, if it´s maybe for the same end user and set the discounts correct.
Also an option to select configs for this customer, which ordered in the past, would be nice.

Thank you for your time and sharing your solution.

Best wishes from Vienna,

currently the configuration docname is generated based on auto name rule which is format:{field1}-{field2}…, of course it can be easily changed to format:{field1}/{field2}…, and copy this configuration docname to the configurable item’s item name field via custom script as needed.

as of now re-config is not supported, because the standard dynamic link field is used, so there is only 2 options: create a new config and re-use existing config, if use the existing config and change options, it will impact the old order linked to the configuration.

anyway, I think re-config is good feature per stated business scenario, will consider to develop this feature.

the core team thinks my proposed solution is too complex, it will not be possible to accept this into the core, so I am trying to pack it as an independent APP.

APP is now available for testing and feedback