# Variable BOM Mechanics

**URL:** <https://www.dolibarr.org/forum/t/variable-bom-mechanics/31426>\
**Category:** Developing for Dolibarr\
**Created:** [October 23, 2026, 12:32pm UTC](https://www.dolibarr.org/forum/t/variable-bom-mechanics/31426 "2026-10-23T12:32:14Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![zachmelo](https://www.dolibarr.org/forum/user_avatar/www.dolibarr.org/zachmelo/32/9195_2.png) [@zachmelo](https://www.dolibarr.org/forum/u/zachmelo)\
**Post date:** [October 23, 2026, 12:32pm UTC](https://www.dolibarr.org/forum/t/variable-bom-mechanics/31426/1 "2026-10-23T12:32:14Z")

</div>

Hello @all I’m working on a module that’s meant to make the management and creating of BOM less painful.

> **[GitHub - zacharymelo/doli-variable-bom: A module that enables varbility in the BOM...](https://github.com/zacharymelo/doli-variable-bom)**
>
> A module that enables varbility in the BOM generation process, cuts down on the number of BOM required for products like Screen printed T-shirts

Big issue right now, is that I’ve had to hook a patch into core in order for this module to function properly. I’m not trying to mangle core to get this weird feature built, but I’m sure there is merit to this as a solution.

The core prospect of this module is that users no longer need to generate 12 BOM for 2 colors and 6 sizes of shirts - it’s all managed with variable products and this module.

While functional, the UI/UX and overall flow through the module seem clumsy and I would love some feedback. I can see this becoming a core feature but it really needs a facelift first.

 ![additional properties for variable BOM objects](https://www.dolibarr.org/forum/uploads/dolibarrorg/original/2X/7/77c6ab69451eca11ab33f7d1b41509b3f929f200.jpeg)

 ![BOM showing variants outcomes](https://www.dolibarr.org/forum/uploads/dolibarrorg/original/2X/d/d1399fb5fd71c1c77fc9232558552f838f8e9e72.jpeg)

 ![BOM with variable fixed data set](https://www.dolibarr.org/forum/uploads/dolibarrorg/original/2X/c/c3567c94f56be37940474465e2a7aad7fc913d25.jpeg)

 ![example MO](https://www.dolibarr.org/forum/uploads/dolibarrorg/original/2X/a/a6582bdcc6743e0b9b59b665a8b36c6e1af2afc2.jpeg)
