Selling a Custom and Complex Discreet Product (detailed)


Im working on a custom ERPNext implementation and I know that we need to add a custom module for our needs, but I don’t know how to address one part:

We sell audio electronic DIY Kits. We have many Models and each Model has many many variations (for example, you can order the Model X with the addition of one extra Volume control. Or you can leave out the Tone control) (i’m simplifying). Plus, the customer selects each Knob Color (up to 7 Knobs, with more than 30 Knob types/colors) and LEDs colors. (The permutations doesnt allow to use Item Variant, would be imposible to maintain)

We make and maintain stock of pre-PreparedKits (without Knobs and LEDs) for each model and some variations, but not all of them, because we would need to make stock of a LOT of different combinations. So we keep stock of the more standard ones and when we sell a small or unusual variation we have a document that tell us which PreparedKit to take and which components are needed to be added or removed.

Then we add the customized items (Knobs and LEDs)

My Plan so far:

  1. One Item with its BOM for each standard/common PreparedKit. (E.g.: ModelXVariationY)

  2. New DocType: CustomOrderType that stores, for each variation posible, which standard PreparedKit(Item) must be taken, the Items that can be selected to customize (Knobs and LEDs) and two lists of items: toAdd and toRemove.

  3. New DocType: CustomOrder in which CustomOrderType is selected and based on that are populated the fields to select the Knobs (maybe 1, maybe 7) and LEDs. With the submission we can generate a ProductBundle with the PreparedKit, customized and toAdd components, a StockEntry for the “removed” items to return to stock and a WorkOrder to put together the final Kit. That ProductBundle is selected in the Sales Order.

Problems I see: (I Like ProductBundles because I can change them anytime)

  1. It doesnt look lean. Rollbacks of transactions could be complex.
  2. In the ProductBundle the PreparedKit doesnt reflect the removed components.
  3. For each Sale there is a NEW ProductBundle. Reporting could be affected?

I’m trying to really think it through to try to keep the original DocTypes untouched, so the app is compatible with future updates. Plus, we also sell components separately, so we cant lose the ERPNext standard stock/selling/items functionality.

Do you see a simpler way?


Can you explain your problem with the Item Variant a little bit more? With screenshots if its ok.

except the to remove feature,others can be handled by my app [New Feature] Config to order: ERPNext version of SAP's variant configuration -- APP published, testing needed?
till now no one tried it out yet, core team’s feedback is ‘too complicated’ for the core, let me know your opinion?

@TurkerTunali in this moment we have 15 models(products), each model has 3 to 5 variations and each variation has a different number of Knobs (1 to 7) and LEDs (1 to 3). Each LED can be selected in 5 colors, and each Knob can be one of 5 types and each type has 9 colors.
The customer can select, for example, 1 red LED, 1 blue LED, 2 Green Knobs TypeA, 1 Transparent Knob TypeB and 2 Red Knobs TypeC.

And we plan to add 10 models this year and we also want to add all the Knobs and options in style that we can.

If Im not mistaken, that would be a nightmare with the ERPNext Variations

@szufisher I saw it the other day! I will respond in that thread now

1 Like