# Explode BOMs of sale line

**URL:** https://discuss.tryton.org/t/explode-boms-of-sale-line/7323
**Category:** Ideas
**Tags:** stock, production
**Created:** [May 27, 2024, 1:16pm UTC](https://discuss.tryton.org/t/explode-boms-of-sale-line/7323 "2024-05-27T13:16:53Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![acaubet](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/acaubet/32/1493_2.png) [@acaubet](https://discuss.tryton.org/u/acaubet)
#### Post date: [May 27, 2024, 1:16pm UTC](https://discuss.tryton.org/t/explode-boms-of-sale-line/7323/1 "2024-05-27T13:16:53Z")

</div>

I’ve seen numerous times now that production customers ask for different uses to explode a BOM of a sale.

- Some customers to be able to set some data in the machinery
- Some customers to improve the purchase flow
- Some to compute a cost estimation of a sale

All of them require the product and the final quantity needed.

> **(Hungry) Example**
>
> ```auto
> BOM: PIZZA MARGARITA
> INPUT: DOUGH (250GR)
> INPUT: TOMATO (100GR)
> INPUT: MOZZARELLA (90G)
> OUTPUT: MARGARITA (1U)
> 
> ```
> 
> ```auto
> BOM: DOUGH
> INPUT: YEAST (10GR)
> INPUT: WATER (1000GR)
> INPUT: FLOUR (990G)
> OUTPUT: DOUGH (2000GR)
> 
> ```
> 
> ```auto
> SALE LINE -> 4u MARGARITA
> RESULT:
> - MARGARITA 4u
> - DOUGH 1000GR
> - TOMATO 400GR
> - MOZZARELLA 360GR
> - YEAST 5GR
> - WATER 500GR
> - FLOUR 495GR
> 
> ```

I already have the function done, so no problem in contributing that. I leave you here the idea. For now, I don’t see a generic use case to integrate into core. But who knows, maybe some of you know!

---

<div class="post-metadata">

### Author: ![SISalp](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/sisalp/32/200_2.png) [@SISalp](https://discuss.tryton.org/u/SISalp)
#### Post date: [May 28, 2024, 4:42pm UTC](https://discuss.tryton.org/t/explode-boms-of-sale-line/7323/2 "2024-05-28T16:42:14Z")

</div>

In your example, you get an idea of the quantities. I guess you can improve with the routes and the cost center.  
Can you tell us why the basic production modules don’t do the trick ?  
Thank you.

---

<div class="post-metadata">

### Author: ![acaubet](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/acaubet/32/1493_2.png) [@acaubet](https://discuss.tryton.org/u/acaubet)
#### Post date: [May 29, 2024, 7:50am UTC](https://discuss.tryton.org/t/explode-boms-of-sale-line/7323/3 "2024-05-29T07:50:05Z")

</div>

> [@SISalp](#):
>
> Can you tell us why the basic production modules don’t do the trick ?

It works. But production works for production.

I talk about knowing what you will purchase and produce in advance to generate a quotation when sale is in draft.

---

<div class="post-metadata">

### Author: ![SISalp](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/sisalp/32/200_2.png) [@SISalp](https://discuss.tryton.org/u/SISalp)
#### Post date: [May 29, 2024, 9:06am UTC](https://discuss.tryton.org/t/explode-boms-of-sale-line/7323/4 "2024-05-29T09:06:54Z")

</div>

Your pizza example is not a sale package: you cannot separate components. So it is a real production BOM, and obviously, not a production order at the quote step.

---

<div class="post-metadata">

### Author: ![acaubet](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/acaubet/32/1493_2.png) [@acaubet](https://discuss.tryton.org/u/acaubet)
#### Post date: [May 29, 2024, 9:13am UTC](https://discuss.tryton.org/t/explode-boms-of-sale-line/7323/5 "2024-05-29T09:13:33Z")

</div>

Don’t look at the product names. It’s a wrong-picked example, sorry.  
What I’m talking is a next step of [Phantom BoM](https://foss.heptapod.net/tryton/tryton/-/merge_requests/153).

Sorry for the noise, and let’s wait to see where & how Phantom BoM lands.

---

<div class="post-metadata">

### Author: ![pokoli](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/pokoli/32/22_2.png) [@pokoli](https://discuss.tryton.org/u/pokoli)
#### Post date: [May 29, 2024, 9:58am UTC](https://discuss.tryton.org/t/explode-boms-of-sale-line/7323/6 "2024-05-29T09:58:01Z")

</div>

I think what you are requesting is similar to what is discussed in the following topic: [On demand production](https://discuss.tryton.org/t/on-demand-production/4821)

AFAIU what you request is to define on quotation line the boms and routings that will be used for the production when the order is confirmed.

---

<div class="post-metadata">

### Author: ![acaubet](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/acaubet/32/1493_2.png) [@acaubet](https://discuss.tryton.org/u/acaubet)
#### Post date: [May 29, 2024, 10:24am UTC](https://discuss.tryton.org/t/explode-boms-of-sale-line/7323/7 "2024-05-29T10:24:07Z")

</div>

Yeah, I’ve found several times the need of this explode bom for different use case like the phantom bom or the on demand.  
So I raise here the isolated idea of this feature to discover more use cases.

---

<div class="post-metadata">

### Author: ![SISalp](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/sisalp/32/200_2.png) [@SISalp](https://discuss.tryton.org/u/SISalp)
#### Post date: [May 29, 2024, 2:43pm UTC](https://discuss.tryton.org/t/explode-boms-of-sale-line/7323/8 "2024-05-29T14:43:41Z")

</div>

And why don’t you consider routings too ?

---

<div class="post-metadata">

### Author: ![acaubet](https://discuss-cdn.tryton.org/user_avatar/discuss.tryton.org/acaubet/32/1493_2.png) [@acaubet](https://discuss.tryton.org/u/acaubet)
#### Post date: [May 29, 2024, 2:45pm UTC](https://discuss.tryton.org/t/explode-boms-of-sale-line/7323/9 "2024-05-29T14:45:28Z")

</div>

In my use cases, routing is not needed, but I’m not against.
