PS PrestaShop Iniciante

Gestão de Validades e Lotes: documentação

Lotes com data limite de consumo e durabilidade mínima, caixas do fornecedor, custos, FEFO, escalões de desconto, importação CSV e controlo de stock.

Atualizado Versão do módulo 1.2.0

Instalação e atualização

O módulo instala-se como qualquer módulo PrestaShop, sem dependências nem Composer.

  1. Abra Módulos → Gestor de módulos.
  2. Clique em Carregar um módulo e largue o ficheiro ZIP.
  3. Depois clique em Configurar.

O módulo cria três tabelas (lotes, movimentos, embalagens do fornecedor) e dois separadores no menu Catálogo: Lotes e validades e Embalagens do fornecedor.

A partir de uma versão anterior, basta carregar o novo ZIP. Os lotes e o seu histórico são mantidos. Se usava o desconto único da versão 1.0.0, ele passa a ser o primeiro escalão de desconto.

Se os separadores não aparecerem logo, limpe a cache em Parâmetros avançados → Desempenho e volte a iniciar sessão.

Data limite de consumo e durabilidade mínima: o que faz o módulo

A data limite de consumo (DLC, consumir até) aplica-se a alimentos perecíveis: ultrapassada, o produto não deve ser vendido. A data de durabilidade mínima (DLUO / DDM, consumir de preferência antes de) indica perda de qualidade: o produto pode continuar à venda se o cliente estiver informado.

  • Um lote expirado com data limite de consumo nunca é atribuído a uma encomenda, mesmo que o cron ainda não tenha corrido nesse dia.
  • As ações automáticas na expiração (retirada do stock, desativação do produto) só se aplicam à data limite de consumo.
  • Um lote com durabilidade mínima ultrapassada é apenas desativado; enquanto estiver ativo, pode ser atribuído a encomendas.

Escolha com cuidado o tipo de data ao criar o lote: é ele que decide se as ações automáticas se aplicam.

Configurar o módulo

A página de configuração mostra o URL do cron, um estado rápido dos lotes e quatro blocos de definições.

Apresentação na página do produto

  • Mostrar a data na página do produto: data do lote em stock mais próximo para a combinação escolhida pelo cliente.
  • Limite do selo de validade curta: abaixo deste número de dias aparece o selo «Validade curta». Por defeito: 10 dias.

Descontos automáticos em validade curta

  • Ativar os descontos automáticos: ao desativar, todos os descontos criados pelo módulo são removidos.
  • Escalões de desconto: até 10 linhas «quando o lote expira dentro de X dias» / «desconto Y %». Veja a secção Escalões de desconto.

Stock e custos

  • Quando expira um lote com data limite de consumo: desativar apenas o lote, desativá-lo e retirar a quantidade restante do stock (recomendado), ou retirar o stock e desativar o produto se não restar nenhum lote válido.
  • Adicionar por defeito a quantidade recebida ao stock do PrestaShop: valor proposto ao criar um lote. Deixe em Não enquanto regista lotes de stock já contabilizado no PrestaShop.
  • Registar o custo do lote em cada linha de encomenda: veja Custo de compra e margens.
  • Devolver as unidades aos lotes quando uma encomenda é cancelada: veja Cancelamento e reativação.
  • Imprimir os números de lote nas guias de remessa (ativo por defeito) e nas faturas (desativado por defeito).

Alertas por e-mail

  • Limite de alerta antes da validade: janela vigiada pelo e-mail resumo. Por defeito: 30 dias.
  • E-mail do destinatário: deixe vazio para usar o endereço da loja.

Embalagens do fornecedor

Se compra em caixas e vende à unidade, defina a embalagem uma vez em Catálogo → Embalagens do fornecedor:

  • produto e, se necessário, combinação;
  • nome (por exemplo «Caixa de 12»);
  • referência do fornecedor e EAN da caixa;
  • unidades por caixa e custo habitual da caixa (sem IVA);
  • referência e EAN da unidade vendida. Se ficarem vazios, são usados os do produto ou da combinação.

O custo unitário resultante é mostrado em tempo real. Um produto pode ter várias embalagens.

Criar e receber um lote

Em Catálogo → Lotes e validades, clique em Adicionar um lote, ou use o mesmo botão no painel de lotes da página do produto.

Receção à unidade

  1. Procure o produto (pelo menos 2 caracteres) e escolha a combinação, ou deixe «Todas as combinações».
  2. Deixe Recebido à unidade.
  3. Indique número do lote, tipo de data, data limite, quantidade recebida e custo de compra por unidade sem IVA.
  4. Defina Adicionar esta quantidade ao stock do PrestaShop: Sim para uma nova entrega, Não para stock já contabilizado.

Receção em caixas

  1. Depois do produto, escolha Recebido em caixas do fornecedor.
  2. Selecione a embalagem, indique as caixas recebidas e o custo por caixa (sem IVA), pré-preenchido com o custo habitual.
  3. A quantidade e o custo unitário são calculados e bloqueados: 3 caixas de 12 a 30 € dão 36 unidades a 2,50 €.

A referência do fornecedor do lote é pré-preenchida com a da caixa. Pode substituí-la pelo número da guia de remessa do fornecedor.

Alterar, desativar, eliminar

  • O produto de um lote não pode ser alterado depois da criação.
  • Alterar a quantidade regista um movimento de ajuste sem mexer no stock do PrestaShop.
  • Um número de lote só pode existir uma vez por produto.
  • Um lote já vendido não pode ser eliminado: desative-o.

Importar lotes em CSV

Botão Importar lotes (CSV) na lista de lotes. Nessa página pode descarregar um ficheiro de exemplo.

  • Separador ponto e vírgula, vírgula ou tabulação; primeira linha = nomes das colunas; máximo de 5.000 linhas e 5 MB.
  • O produto é encontrado por reference, ean13 ou id_product. Uma referência de combinação também funciona em reference.
  • combination_reference ou combination_ean13 associa o lote a uma combinação.
  • Obrigatórios: lot_number e expiry_date (AAAA-MM-DD ou DD/MM/AAAA).
  • date_type: dlc ou dluo (dlc por defeito).
  • quantity e unit_cost para uma receção à unidade.
  • boxes, box_reference e box_cost para uma receção em caixas: quantidade e custo unitário são calculados a partir da embalagem.
  • supplier_ref e note são opcionais.
reference;lot_number;date_type;expiry_date;quantity;unit_cost
CROQ-2KG;L2026-118;dluo;2027-03-31;24;6.40
PATE-12;L2026-204;dlc;15/01/2027;;

Um número de lote que já existe para o produto é ignorado. O relatório lista cada linha com erro e o motivo; as restantes linhas são importadas.

Painel de indicadores e vistas filtradas

No topo da lista, os cartões são clicáveis e filtram a lista: lotes expirados ainda ativos, lotes perto da validade, lotes com desconto ativo, valor de compra em risco e valor de compra do stock em lotes. O filtro mantém-se ao mudar de página; Mostrar todos os lotes remove-o.

A saída FEFO

Na validação de uma encomenda, para cada produto:

  1. primeiro os lotes da combinação encomendada, depois os do produto;
  2. os lotes são consumidos da data mais próxima para a mais distante;
  3. os lotes expirados com data limite de consumo ficam excluídos.

Uma encomenda de 10 unidades perante um lote de 4 e outro de 8 retira as 4 primeiras e depois 6 do lote seguinte. Cada retirada fica registada com a encomenda.

Custo de compra e margens

Com Registar o custo do lote em cada linha de encomenda ativo, o módulo calcula o custo médio ponderado dos lotes consumidos e guarda-o como preço de compra da linha da encomenda. As estatísticas de margem do PrestaShop passam a usar o custo real. Os lotes sem custo não entram no cálculo.

Escalões de desconto

Exemplo: 10 % a 90 dias, 20 % a 60 dias, 30 % a 30 dias.

  • Aplica-se a percentagem mais alta entre os escalões atingidos: o desconto nunca desce à medida que a data se aproxima.
  • Só se aplica ao lote que sai primeiro, por produto ou por combinação.
  • É uma regra de preço de catálogo padrão do PrestaShop que termina na data limite.
  • Quando o lote esgota, o desconto passa para o lote seguinte ou desaparece.
  • Os descontos são recalculados ao guardar as definições ou um lote, e depois todos os dias pelo cron.

Estas regras seguem as prioridades habituais do PrestaShop. Se já aplica descontos de catálogo amplos, verifique as prioridades antes de ativar os escalões.

Preparação: encomenda e guia de remessa

Na encomenda do back office, o bloco Lotes enviados (FEFO) indica para cada produto o lote, a data, a quantidade e o custo. Os mesmos lotes são impressos na guia de remessa, e na fatura se a opção estiver ativa.

Cancelamento e reativação

Quando uma encomenda passa a Cancelada, as suas unidades voltam aos lotes de origem. Se depois voltar a um estado válido, as unidades são retiradas de novo pela ordem FEFO. O ciclo pode repetir-se sem contagem dupla.

As devoluções parciais com reposição de stock não são atribuídas automaticamente a um lote. Aparecem no Controlo de stock, onde cria o lote correspondente.

Controlo de stock

O botão Controlo de stock compara as unidades em lotes com o stock do PrestaShop:

  • uma diferença positiva significa unidades sem lote: Criar um lote para as unidades em falta abre o formulário pré-preenchido;
  • uma diferença negativa significa que os lotes contêm mais do que o stock: corrija os lotes ou o stock.

Os produtos com lotes ao nível do produto são comparados pelo stock total; os produtos com todos os lotes associados a combinações são comparados combinação a combinação.

Painel de lotes na página do produto

A página do produto no back office lista os lotes do produto com estado, custo e desconto, e compara o total com o stock do PrestaShop. O botão Adicionar um lote pré-seleciona o produto. No PrestaShop 8.1 e 9, o painel está no separador Módulos da página do produto.

Tarefa cron

A saída de stock, a rastreabilidade e a importação funcionam sem cron. Os escalões de desconto, os lotes expirados e o alerta por e-mail precisam de uma chamada diária ao URL indicado na configuração:

https://a-sua-loja.pt/index.php?fc=module&module=dfdlc&controller=cron&token=O_SEU_TOKEN

A resposta JSON indica os lotes desativados, as unidades retiradas, os produtos desativados, os descontos criados, atualizados ou removidos e os alertas enviados.

Alertas por e-mail

Em cada execução do cron, um e-mail resumo lista os lotes cuja data entra na janela de alerta: número, produto, tipo, data e quantidade. Cada lote é assinalado uma só vez. Os modelos são fornecidos em 8 idiomas na pasta mails/.

Apresentação na página do produto

Através do hook displayProductAdditionalInfo, a página mostra «Consumir até» ou «Consumir de preferência antes de» com a data do lote mais próximo para a combinação escolhida. Abaixo do limite aparece o selo «Validade curta» com o desconto. Um desconto de escalão fora desse limite é indicado como «oferta por validade». O modelo views/templates/hook/product-expiry.tpl pode ser substituído no tema.

Rastreabilidade e recolha de lotes

O formulário de um lote mostra o seu histórico: receção, encomendas, cancelamentos, ajustes, retirada por expiração, com ligação a cada encomenda. Exportar CSV descarrega o histórico do lote; Exportar movimentos na lista descarrega o histórico completo. Estes dados são a base de um procedimento de recolha.

Perguntas frequentes

O módulo substitui o stock do PrestaShop?

Não. O stock do PrestaShop continua a ser a referência para vender; o módulo divide-o em lotes datados e assinala as diferenças.

E se os lotes não cobrirem todo o stock?

A encomenda decorre normalmente: o módulo retira o que estiver disponível nos lotes. O Controlo de stock mostra as unidades sem lote.

É compatível com multiloja?

Sim. Cada lote pertence à loja onde foi criado.

O que acontece na desinstalação?

As três tabelas são eliminadas com o seu conteúdo. Faça uma cópia de segurança se pretende reinstalar.

Esta página foi útil?

Ainda com dúvidas? Contacte o suporte