Distinta base — Kits y ensamblaje — Guía completa
Instalar, configurar y utilizar las listas de materiales (BOM): kits virtuales con stock calculado, descuento de componentes al vender, órdenes de ensamblaje, precio calculado y composición en el front-office para PrestaShop 8 y 9.
Presentación y requisitos
El módulo Distinta base añade a PrestaShop una gestión de lista de materiales (BOM): cada producto puede declarar la lista de sus componentes con sus cantidades, y la tienda extrae automáticamente las consecuencias sobre el stock y el precio. Hay dos lógicas disponibles según su actividad: el kit virtual (stock calculado, descuento de componentes al vender) y el ensamblaje físico (órdenes de fabricación que producen stock de producto terminado).
- Compatible con PrestaShop 8.0 a 9.x, tema Classic y temas derivados.
- PHP 7.4 a 8.3.
- Multitienda y multiidioma.
- Componentes con combinaciones, listas multinivel, protección contra referencias circulares.
- Arquitectura conforme a PrestaShop (ModuleAdminController, ObjectModel), sin dependencias Composer.
En modo kit virtual, el stock del producto ya no se introduce manualmente: el módulo lo calcula como el mínimo permitido por los componentes y lo actualiza en cada movimiento.
Instalación
Instale el módulo como cualquier módulo de PrestaShop:
- Descargue el archivo
datafireflybom.zipdesde su cuenta de cliente. - En el back-office, vaya a Módulos > Gestor de módulos.
- Haga clic en Subir un módulo y suelte el archivo.
- Una vez instalado, haga clic en Configurar si desea ajustar los ajustes globales.
Al instalarse, el módulo crea sus tablas (dfbom, dfbom_component, dfbom_assembly_log), registra sus hooks y añade la pestaña Listas de materiales / BOM en Catálogo. Las listas se gestionan luego desde cada ficha de producto.
Ajustes generales del módulo
La página de configuración (Módulos > DataFirefly BOM > Configurar) reúne los ajustes globales y la lista de las distintas existentes:
- Sincronización en tiempo real: recalcula automáticamente el stock de los kits virtuales y los precios calculados en cuanto un componente cambia de stock o de precio. Activada por defecto.
- Permitir stock negativo: permite ensamblar o vender aunque el stock de los componentes sea insuficiente (flujo tenso). Desactivada por defecto.
- Resincronizar todos los stocks / precios: un botón que recalcula de una vez el stock y el precio de todas las distintas activas. Útil tras una importación o una migración de datos.
Crear una distinta base
Abra una ficha de producto y luego la pestaña Módulos: aparece el panel Distinta base / BOM. Active la distinta con el interruptor superior y siga los pasos numerados.
1. Elegir el modo de stock
- Kit virtual: el stock del producto se calcula automáticamente a partir de los componentes y cada venta los descuenta. Ideal para cofres y packs preparados bajo pedido.
- Ensamblaje físico: el producto terminado tiene su propio stock, alimentado por órdenes de ensamblaje. Ideal para la fabricación en serie.
2. Elegir el modo de precio
- Precio fijo: el precio sigue siendo el definido en la ficha de producto. Sin recálculo.
- Precio calculado: el precio pasa a ser la suma de los precios de los componentes, menos un descuento porcentual que usted introduce. Se recalcula automáticamente cuando cambia el precio de un componente.
3. Añadir los componentes
Use el campo de búsqueda para encontrar un producto por nombre, referencia o ID. Los resultados muestran la miniatura, la referencia, el stock y el precio; haga clic para añadir el componente. Cada línea permite ajustar la cantidad requerida con los botones +/−. Puede añadir una combinación concreta como componente (aparece por separado en la búsqueda).
Los cuatro indicadores de la parte superior del panel (componentes, cantidad ensamblable, coste de los componentes, precio calculado) se actualizan en directo mientras ajusta cantidades y descuento, antes incluso de guardar.
4. Guardar
Haga clic en Guardar la distinta. El módulo guarda la distinta, recalcula de inmediato el stock del kit (modo virtual) y aplica el precio calculado si procede.
El modo kit virtual
En modo kit virtual, el stock del producto es el mínimo que permiten sus componentes: para un cofre que necesita 2 martillos y 1 maletín, con 120 martillos y 40 maletines en stock, el kit muestra 40 unidades disponibles.
- Al validar un pedido, el stock de cada componente se descuenta según las cantidades de la distinta, y después el stock del kit — y el de todos los kits que comparten esos componentes — se recalcula.
- En caso de anulación o reembolso de una línea, los componentes se restituyen automáticamente.
- Si la sincronización en tiempo real está activa, cualquier cambio de stock de un componente (venta directa, reposición, otro kit) actualiza el stock de los kits afectados.
El modo kit virtual supone que el kit en sí es un producto sin combinaciones: el stock calculado se coloca en el producto (combinación 0). Los componentes, en cambio, pueden ser combinaciones.
El modo ensamblaje físico
En modo ensamblaje, el producto terminado conserva su propio stock. Lo alimenta con órdenes de ensamblaje desde el panel de la ficha de producto:
- Introduzca una cantidad (el botón Max indica cuántas permite fabricar su stock de componentes).
- Haga clic en Ensamblar: los componentes se consumen y el stock del producto terminado aumenta.
- Haga clic en Desensamblar para la operación inversa: el producto terminado se descuenta y los componentes se restituyen.
Cada operación queda registrada en un historial con dipendiente, fecha, operación y cantidad. El historial completo se consulta en Catálogo > Listas de materiales / BOM.
Si el stock negativo no está permitido, el ensamblaje se bloquea cuando el stock de los componentes es insuficiente, y el desensamblaje cuando el stock del producto terminado es insuficiente. Un mensaje indica el máximo posible.
El precio calculado
En modo precio calculado, el precio sin impuestos del kit es igual a la suma de los precios sin impuestos de sus componentes (multiplicados por sus cantidades), menos el descuento porcentual definido. Este precio se escribe en la ficha de producto y se recalcula:
- cada vez que se guarda la distinta;
- cuando cambia el precio de un componente, si la sincronización en tiempo real está activa;
- al hacer una resincronización global desde la página de configuración.
En modo precio fijo, el módulo nunca toca el precio de su ficha de producto. El precio calculado se muestra a título indicativo en el panel, pero no se aplica.
Distintas multinivel y combinaciones
Un componente puede ser una combinación concreta de un producto (talla, color…) o a su vez un kit con su propia distinta. Los subconjuntos se anidan entonces en varios niveles y los cálculos de stock se propagan en cascada. El módulo detecta y bloquea las referencias circulares, incluso indirectas, en el momento de guardar: un kit no puede contenerse a sí mismo.
La composición en el front-office
Una casilla «Mostrar la pestaña Composición en la ficha de producto de la tienda» permite, producto por producto, presentar el contenido del kit a sus clientes. Una pestaña Composición lista entonces cada componente con su imagen, su cantidad y un enlace a su ficha. Desactivada, la distinta permanece totalmente invisible en la tienda.
FAQ y resolución de problemas
El stock del kit no se actualiza
Compruebe que la distinta está activa, en modo kit virtual, y que la sincronización en tiempo real está activada en los ajustes. Un botón Resincronizar todos los stocks / precios en la página de configuración fuerza un recálculo completo.
El precio calculado no se aplica
El precio solo se escribe en la ficha de producto en modo precio calculado. En modo precio fijo, el valor mostrado es indicativo. Compruebe también que los componentes tengan un precio definido.
No puedo ensamblar
Sin permiso de stock negativo, el ensamblaje está limitado por el stock de los componentes. El botón Max indica la cantidad máxima posible. Active la opción Permitir stock negativo en los ajustes si su flujo lo requiere.
Aparece un mensaje de referencia circular
Está intentando añadir como componente un producto que ya contiene (directamente o mediante un subkit) el producto en edición. Retire ese componente o reorganice su árbol de distintas.
¿Puedo vender los componentes por separado?
Sí, es el escenario típico. Cada componente sigue siendo un producto normal, vendible individualmente. El módulo mantiene la coherencia: cualquier venta, del componente suelto o del kit, actualiza los stocks y las cantidades ensamblables de todos los kits afectados.
¿Qué ocurre al desinstalar?
La desinstalación elimina la pestaña y los hooks del módulo, retira sus tablas (dfbom, dfbom_component, dfbom_assembly_log) y sus variables de configuración. Los stocks y precios ya escritos en las fichas de producto permanecen tal cual.