Lista de Materiais / BOM, kits e montagem: guia completo
Instalar, configurar e explorar as listas de materiais (BOM): kits virtuais com stock calculado, decremento dos componentes na venda, ordens de montagem, preço calculado e composição no front-office para PrestaShop 8 e 9.
Apresentação e pré-requisitos
O módulo Lista de Materiais / BOM acrescenta ao PrestaShop uma gestão de Bill of Materials: cada produto pode declarar a lista dos seus componentes com as respetivas quantidades, e a loja tira daí automaticamente as consequências no stock e no preço. Estão disponíveis duas lógicas, consoante a sua atividade: o kit virtual (stock calculado, decremento dos componentes na venda) e a montagem física (ordens de fabrico que produzem stock de produto acabado).
- Compatível com PrestaShop 8.0 a 9.x, tema Classic e temas derivados.
- PHP 7.4 a 8.3.
- Multiloja e multi-idioma.
- Componentes com combinações, listas de materiais multinível e proteção contra referências circulares.
- Arquitetura conforme ao PrestaShop (ModuleAdminController, ObjectModel), sem dependências Composer.
Em modo kit virtual, o stock do produto deixa de ser introduzido manualmente: o módulo calcula-o como o mínimo permitido pelos componentes e atualiza-o a cada movimento.
Instalação
Instale o módulo como qualquer outro módulo PrestaShop:
- Descarregue o arquivo
datafireflybom.zipa partir da sua conta de cliente. - No back-office, vá a Módulos > Gestor de módulos.
- Clique em Carregar um módulo e coloque o arquivo.
- Depois de instalado, clique em Configurar se quiser ajustar as definições globais.
Na instalação, o módulo cria as suas tabelas (dfbom, dfbom_component, dfbom_assembly_log), regista os seus hooks e acrescenta o separador Listas de materiais / BOM em Catálogo. A gestão das listas passa depois a fazer-se a partir de cada ficha de produto.
Definições gerais do módulo
A página de configuração (Módulos > DataFirefly BOM > Configurar) reúne as definições globais e a lista das listas de materiais existentes:
- Sincronização em tempo real: recalcula automaticamente o stock dos kits virtuais e os preços calculados assim que um componente muda de stock ou de preço. Ativa por predefinição.
- Permitir stocks negativos: permite montar ou vender mesmo com stock de componentes insuficiente (fluxo tenso). Desativada por predefinição.
- Ressincronizar todos os stocks / preços: um botão que recalcula de uma só vez o stock e o preço de todas as listas ativas. Útil depois de uma importação ou de uma recuperação de dados.
Criar uma lista de materiais
Abra uma ficha de produto e depois o separador Módulos: aparece o painel Lista de materiais / BOM. Ative a lista com o interruptor no topo e siga os passos numerados.
1. Escolher o modo de stock
- Kit virtual: o stock do produto é calculado automaticamente a partir dos componentes e cada venda decrementa-os. Ideal para coffrets e packs preparados por encomenda.
- Montagem física: o produto acabado tem stock próprio, alimentado por ordens de montagem. Ideal para o fabrico em série.
2. Escolher o modo de preço
- Preço fixo: o preço continua a ser o definido na ficha do produto. Sem recálculo.
- Preço calculado: o preço passa a ser a soma dos preços dos componentes, menos um desconto em percentagem que introduz. É recalculado automaticamente quando um componente muda de preço.
3. Acrescentar os componentes
Use o campo de pesquisa para encontrar um produto por nome, referência ou ID. Os resultados mostram a miniatura, a referência, o stock e o preço; clique para acrescentar o componente. Cada linha permite definir a quantidade necessária com os botões +/−. Pode acrescentar uma combinação específica como componente (aparece separadamente na pesquisa).
Os quatro indicadores no topo do painel (componentes, quantidade montável, custo dos componentes e preço calculado) atualizam-se em direto enquanto ajusta quantidades e desconto, ainda antes de gravar.
4. Gravar
Clique em Gravar a lista de materiais. O módulo guarda a lista, recalcula de imediato o stock do kit (modo virtual) e aplica o preço calculado, se for o caso.
O modo kit virtual
Em modo kit virtual, o stock do produto é o mínimo daquilo que os seus componentes permitem: para um coffret que exige 2 martelos e 1 mala, com 120 martelos e 40 malas em stock, o kit apresenta 40 unidades disponíveis.
- Na validação de uma encomenda, o stock de cada componente é decrementado segundo as quantidades da lista, e o stock do kit, bem como o de todos os kits que partilham esses componentes, é recalculado.
- Em caso de anulação ou reembolso de uma linha, os componentes são automaticamente devolvidos.
- Se a sincronização em tempo real estiver ativa, qualquer mudança de stock de um componente (venda direta, reposição, outro kit) atualiza o stock dos kits em causa.
O modo kit virtual pressupõe que o próprio kit é um produto sem combinações: o stock calculado é colocado no produto (combinação 0). Os componentes, esses, podem ser combinações.
O modo montagem física
Em modo montagem, o produto acabado mantém o seu próprio stock. Alimenta-o com ordens de montagem a partir do painel da ficha de produto:
- Introduza uma quantidade (o botão Máx. indica quanto o seu stock de componentes permite fabricar).
- Clique em Montar: os componentes são consumidos e o stock do produto acabado aumenta.
- Clique em Desmontar para a operação inversa: o produto acabado é decrementado e os componentes devolvidos.
Cada operação fica registada num histórico com o colaborador, a data, a operação e a quantidade. O histórico completo pode ser consultado em Catálogo > Listas de materiais / BOM.
Se os stocks negativos não estiverem autorizados, a montagem fica bloqueada quando o stock dos componentes é insuficiente, e a desmontagem quando o stock do produto acabado é insuficiente. Uma mensagem indica o máximo possível.
O preço calculado
Em modo preço calculado, o preço sem IVA do kit é igual à soma dos preços sem IVA dos seus componentes (multiplicados pelas respetivas quantidades), menos o desconto em percentagem definido. Este preço é escrito na ficha do produto e recalculado:
- a cada gravação da lista de materiais;
- quando o preço de um componente muda, se a sincronização em tempo real estiver ativa;
- numa ressincronização global a partir da página de configuração.
Em modo preço fixo, o módulo nunca toca no preço da sua ficha de produto. O preço calculado continua a ser apresentado a título indicativo no painel, mas não é aplicado.
Listas multinível e combinações
Um componente pode ser uma combinação específica de um produto (tamanho, cor…) ou ele próprio um kit com a sua própria lista de materiais. Os subconjuntos encaixam-se então em vários níveis e os cálculos de stock propagam-se em cascata. O módulo deteta e bloqueia as referências circulares, mesmo indiretas, no momento da gravação: um kit não pode conter-se a si próprio.
A composição no front-office
Uma caixa «Mostrar o separador Composição na ficha de produto da loja» permite, produto a produto, apresentar o conteúdo do kit aos seus clientes. Um separador Composição passa então a listar cada componente com a sua imagem, a sua quantidade e uma ligação para a respetiva ficha. Se estiver desativada, a lista de materiais fica totalmente invisível do lado da loja.
Perguntas frequentes e resolução de problemas
O stock do kit não é atualizado
Confirme que a lista está ativa, em modo kit virtual, e que a sincronização em tempo real está ativada nas definições. O botão Ressincronizar todos os stocks / preços na página de configuração força um recálculo completo.
O preço calculado não é aplicado
O preço só é escrito na ficha do produto em modo preço calculado. Em modo preço fixo, o valor apresentado é indicativo. Verifique também se os componentes têm mesmo um preço preenchido.
Não consigo montar
Sem autorização de stocks negativos, a montagem fica limitada pelo stock dos componentes. O botão Máx. indica a quantidade máxima possível. Ative a opção Permitir stocks negativos nas definições se o seu fluxo o exigir.
Aparece uma mensagem de referência circular
Está a tentar acrescentar como componente um produto que já contém (diretamente ou através de um subkit) o produto em edição. Retire esse componente ou reorganize a árvore de listas de materiais.
Posso vender os componentes em separado?
Sim, é o cenário típico. Cada componente continua a ser um produto normal, vendável individualmente. O módulo mantém a coerência: qualquer venda, do componente isolado ou do kit, atualiza os stocks e as quantidades montáveis de todos os kits em causa.
O que acontece na desinstalação?
A desinstalação elimina o separador e os hooks do módulo, remove as suas tabelas (dfbom, dfbom_component, dfbom_assembly_log) e as suas variáveis de configuração. Os stocks e preços já escritos nas fichas de produto ficam como estão.