[HOW TO] implementing many variations


I am testing ERPnext for my furniture factory, we produce boxsprings (beds) and sofa’s. And I need help about What is the best way implementing the following variations for a item?

NOTE; I will give the following example which is close to the real situation, the real situation has more options and more details for example a bed consists of 10-15 items.

  • Approximately; 10-15 models beds and sofas
  • Different models fabrics approximately; 10
    • Fabrics have different colors like; 30 colors per fabric model.

And of course people are in different sizes so are my beds; I have different combinations of width and height.

  • Collection of possible width in centimeters; 60, 70, 80, 90, 100, 110, 120, 140, 160, 180, 200
  • Collection of possible height in centimeters; 190, 200, 210, 220

Creating an item with every possible color in every possible size combination looks like a nightmare with creating variations from item templates, there must be a easier way for this.

Thank you very much in advance.


Hello Mert,

What you describe is a typical make-to-order production process. There is a good video on this topic here: https://erpnext.org/docs/user/videos/learn/manufacturing-make-to-order.html

I suggest that you watch it several times as it goes very fast and it uses many menu options of ERPNEXT. Ideally,you should try to reproduce the steps by yourself on a free instance for example, so you can then ensure that the way of working is similar to what you have in mind.

Good luck with ERPNEXT and don’t hesitate to come back on this forum to ask questions,many people are here to help you.


Hey @webingold2 Thank you for the fast reply,
My question and problem still exists because the video didnt’t explain how I can handle many variation of items. And BOM is not what I need for this problem, at least that is what I think.

And if you didn’t understand something please let me know.

I hope you guys can help me out with this.

1 Like

I don’t see how you can simplify this. If you allow so many variations, you need to specify them individually while creating the items. Your attributes would be bed-model, fabric-model, color, width, height. They are unique for each bed/sofa, so how else one can create without specifying them individually? Certainly this results in a large combinations, but you will only create them when you need them, so are likely to have far less item variations than it supports.


In my opinion, you will need to have a complete set of items for the construction of your furniture.

In your description of your business this means a plank of 190 cm, a plank of 200 cm, a plank of 210 cm and a plank of 220 cm for the length of the bed. If the plank can be in oak or poplar, you will have of course to double the number of items. Yes, you will end up with hundreds of items but this is what your business requires and these are the items you buy, stock, assemble and which have a value.

Once you receive an order from a customer (hence your type of business “make-to-order”), you will have to create a bill of material with the items that your customer has chosen, like 2 planks of oak, 200 cm. I think this is the only way to tell to the system which items to use and in which quantity. And yes, for each order, you will have to create a new BoM, I cannot think of any other way.

As mentioned in the video, you could add the workload of the employee who will build the bed. This way, you can have the exact cost of production of the bed automatically calculated.

Where ERPNEXT may not be so easy to use is in the selection of the items for the BoM. You have to codify your items in a clever way so by only typing the first few letters, the short list of items needs to be as small as possible to avoid long scrolling.

I hope this helps.


First of all thank you for the replies.

@spoojary I understand that I need to add every possible variation, but what I don’t understand is how can I create a item of every possible combination of variations, this means thousands to million of combinations. If I should treat them all as a seperate Item and should add them one by one, by making items from variation templates, I would be busy for the next 50 years.

@webingold2 I also understand the idea of BOM for products, but a BOM doesn’t create the combinations I want, or I should create one million BOM’s for one million items because every combination of variation is a item.

What I expect is that I enter some items and put all the possible lists of variations, and the system can mix them up with all possible variations so I got all the possible items. So I have the sizes I need and the colors I need on the models I want. And when I am entering a model in the order I can choose the variations that are possible with that model.

How can I implement this on the most efficient way, maybe importing/exportings Excel, I dont know?

1 Like

You have misunderstood me. I am telling the exact opposite. I have a similar template item with 4 attributes which could result in more than 10,000 items. However at present we only use 80 of them and all of them are created manually, at different point in time. Though you might be having million potential combinations, that is unlikely to happen in practice. If you are a really big company with huge sales and so many varieties of items being sold, I agree you have a problem.

1 Like

My company has 18 employees, we deliver some biggest furniture chain companies in The Netherlands, and even when I use the half of the combination possibilities it is still not possible work for a human I think. Let me show you some lists of variations.

Customer chooses 1. the model, then chooses 2. the size and makes a combination. After that the customer can choose 3. fabric type and the 4. color for the fabric type and the 5. type legs for the sofa.

  • Models = 5
  • Sizes = 8
  • Fabric types = 7
  • Approximately colors per fabric type = 20-30
  • Approximately legs = 1-5

Like in sofas, customer chooses first 1. the model and then 2. different variants of the model (example; electric version or not? so the bed can move up and down) and the type of matress, height of the matress and so on…

  • Models = 12
  • Variants of the models = 10
  • Mattress variants for the chosen models = 4
  • Height Mattress variants for the chosen models =5
  • Width variants = 6
  • Height variants = 4
  • Fabric types = 7
  • Approximately colors per fabric type = 20-30
  • Approximately legs = 1-5

I hope these numbers of lists of variants give you an better indication for my situation.

Good to hear that.

If you know ERPNext development, this may not be a bigger problem. Without spending a lot of time, I would think you need a page that takes customers choices and automatically creates the item variant based on their input. It is very likely that the BOM also needs to be created dynamically when the variant is created. After that, you could use the standard ERPNext workflow.

Hi Mart,

We faced the same problem last year and developped our own to. We did item configurator to create item variant from sales order item and other doctype. From selecting a template, the user fill attributes values then create the item. If the item exist, ERPNext will only select it. If not, it will create the variant, then the BOM. If BOM use materials that is also a item variant that do not exist, it will create it and is BOM.

We created tool for dynamic BOM creation based on template. Operations and materials are added to BOM conditionnal to attributes values selected.

We also created a tool to create a list of items variants based on combinations of attributes values of a template. All possible items variants of selected attributes value are created in single action.

We did the same for dynamic price list based on attributes values.

We can share code if you want. But we did it while we learn ERPNext, so the code is not clean and a little bit tricky. You may also have french comment and variable name in code. We are french expressive. We planned to refactor it and make a pull request but it will not be soon. If you want, we can do it for you as service provider.



@Rene_Mailloux The tool sounds quite interesting. (specially the dynamic BOM Creation part) Would love to see how you implemented.
Merci :slight_smile:

1 Like

Can you share the github repository? I am so interested, possibly I can contribute ideas and testing based on my experience using SAP variant configuration feature,


Thank you guys for the replies again.

@Rene_Mailloux I am not (yet) programmer myself, but I am studying it. It would awesome if you can share the code with the community as it seems like people are interested in it and maybe clean the code or expand it. I hope you are much interested as us.

Hi all,

Let me few days to clean and optimize the code. I’m not sure if I need to integrate the tools directly in ERPNext app or integrate it in custom app? Currently, the tools works on 2 separates customs apps. I need to regroup them in single place. I’m on ERPNext v7. I need to update to v9 to make sure it work on latest version.

If some one want to coach me for my first pull request, it will be appreciated.

1 Like

I saw this way of production long time ago with FoMoCo and they called feature based releases (FBR)


If you could share the code it would be great,also if you share a gif explaining how it exactly works would be helpful.

Hi Rene,

How is it going with the code? And what about other people still interested, or found a other solution?

Hi bithons,

Sorry for being late. I’m alone in my company so I have many hat to wear. I got hard time to upgrade to version 10.

So now, I’ve got 2 gif to show you. Item Configurator and Create Item Variant in Batch. I’ve tried to translate the most term as possible but the raw data are in french.

Item Configurator
When a template is selected in sales order line, a input field appear for each attribute of the template. After all the fields are filled, the item variant can be created on button click. We also built a function to fill attributes values based on selected item variant. So it possible to use existing item variant as template.

Create Item Variant in Batch
When a template is selected, table is filled with all attribute value available for the selected template. Check all the value you want. Document must be saved to make variants. The item variant are created on Make Variant button click. All possible combinaison are created if item variant not already exist. All created item variant are showed in comments.

My Github is GitHub - radplusplus/radplusplus: RADpp additional functionality for ERPNext

I’m still working on cleaning code for an eventual pull request. If someone want to help. I will be glad.

Next I will do a gif of Dynamik BOM maker and Language Description Template.



Hi René! I am very interested in this, do you think a pull request could be done? did you also find a way to create a dinamic BOM?