Expedição Parcial e Pendências Automáticas (dfavailsplit)
Instalar, configurar e compreender o módulo que expede o stock disponível e coloca automaticamente o resto em pendência.
Apresentação
Este módulo divide automaticamente cada encomenda segundo o stock realmente disponível. Os artigos em stock partem imediatamente numa encomenda pronta a preparar, enquanto os artigos esgotados são movidos para uma encomenda pendente (backorder) dedicada. As duas encomendas partilham a mesma referência e a soma dos seus totais é estritamente igual à encomenda de origem, impostos incluídos.
Tudo é desencadeado na validação da encomenda, e uma divisão manual linha a linha está disponível em cada ficha de encomenda.
Instalação
- Carregue a pasta
dfavailsplitpara/modules/, ou instale o arquivo ZIP através de Módulos > Gestor de módulos > Carregar um módulo. - Clique em Instalar.
- Abra a configuração através de Configurar.
Na instalação, o módulo cria um estado de encomenda dedicado « Em reaprovisionamento (Backorder) » (cor laranja). Este estado e o histórico das divisões são conservados na desinstalação para preservar os seus dados.
Configuração
Vá a Módulos > Gestor de módulos > dfavailsplit > Configurar.
Ativar a divisão automática
Interruptor principal. Desativado, nenhuma encomenda é dividida automaticamente; a divisão manual continua disponível na ficha de encomenda.
Estado de encomenda backorder
Estado aplicado à encomenda que contém os artigos esgotados. Por defeito, o estado « Em reaprovisionamento (Backorder) » criado na instalação.
Sobreposição do estado da encomenda expedível
Opcional. Ative esta opção para forçar um estado preciso (por exemplo « Em preparação ») na encomenda expedível. Desativado, a encomenda conserva o seu estado atual.
Portes grátis na backorder
Ativado por defeito. Os portes ficam na encomenda expedível; a pendência é entregue sem custos, porque o cliente já pagou os portes uma única vez.
Divisão das linhas parciais
Ativado por defeito. Uma linha parcialmente disponível (3 em stock em 5 encomendados) é dividida em 3 expedidos + 2 em pendência. Desativado, a linha inteira passa para a pendência.
E-mail de backorder
Envia ao cliente um e-mail no seu idioma (FR/EN/ES/DE/IT/PL fornecidos, recurso em inglês) a informá-lo de que a sua encomenda será expedida em várias vezes. Para um e-mail em português, adicione uma pasta mails/pt/ com o modelo traduzido.
Regeneração das faturas depois da divisão
Desativado por defeito. Deixe desativado para emitir as faturas no momento da expedição real de cada encomenda. Ativado, o módulo regenera as faturas das duas encomendas depois da divisão se o estado atual o exigir.
Registo
Regista cada operação de divisão nos registos do PrestaShop para rastreabilidade.
Como funciona a divisão
A divisão automática é executada logo depois da validação da encomenda (hook actionValidateOrderAfter, com recurso a actionOrderStatusPostUpdate para os fluxos que não o emitem). O módulo deduz a quantidade expedível de cada linha a partir da escassez real do stock, partilhada por produto e declinação. Este modelo continua correto mesmo para uma divisão manual lançada dias mais tarde, quando o stock já mudou.
Apresentam-se três casos:
- Tudo está disponível: nenhuma divisão. A encomenda segue o seu curso (opção de forçar o estado possível).
- Tudo está esgotado: sem divisão, a encomenda inteira passa ao estado backorder.
- Encomenda mista: a encomenda de origem conserva a parte expedível (portes, descontos, embalagem, pagamento); é criada uma nova encomenda pendente para o resto, com a mesma referência.
Os totais (produtos, portes, descontos, embalagem, peso) e a repartição do IVA são recalculados ao cêntimo, linha a linha. A soma das duas encomendas é exatamente igual à encomenda de origem, impostos incluídos, também nas faturas regeneradas e nos relatórios fiscais. O pagamento, agregado por referência, reconcilia-se nativamente.
A divisão é atómica: todas as mutações (criação da pendência, movimento das linhas, totais, transportadora, faturas) são enquadradas por uma transação SQL. Uma falha a meio anula tudo; nunca há uma encomenda meio dividida.
Divisão manual a partir da ficha de encomenda
Em cada ficha de encomenda não dividida, o painel « Divisão por disponibilidade » mostra uma tabela linha a linha: produto, quantidade encomendada, stock atual e quantidade a colocar em pendência. Os campos vêm pré-preenchidos com a sugestão da análise de stock; ajuste-os livremente, sendo que 0 conserva a linha na encomenda de origem, e clique em « Dividir esta encomenda agora ».
- Disponível mesmo quando a divisão automática está desativada.
- Uma encomenda já dividida nunca pode voltar a sê-lo.
- A seleção é recusada se esvaziasse inteiramente uma das duas encomendas.
- As linhas personalizadas e a definição « divisão das linhas parciais » são respeitadas.
Na ficha de encomenda (back-office)
Feita a divisão, o painel liga as duas encomendas: a partir da encomenda expedível, remete para a pendência associada, e vice-versa. A referência partilhada é recordada nos dois sentidos.
Página de confirmação e e-mail ao cliente
Na página de confirmação de encomenda, um bloco lista os artigos que serão expedidos separadamente, com o lembrete da referência comum e dos portes pagos uma única vez. O bloco funciona com todos os temas: apoia-se nas três âncoras de confirmação (displayOrderConfirmation, displayOrderConfirmation1, displayOrderConfirmation2) e resolve a encomenda a partir do URL de confirmação com verificação da chave de segurança, sem nunca aparecer duas vezes.
Se a opção de e-mail estiver ativa, o cliente recebe também um e-mail no seu idioma a informá-lo da expedição parcial e da pendência entregue sem custos adicionais. Os modelos FR, EN, ES, DE, IT e PL são fornecidos na pasta mails/ do módulo, com recurso ao inglês para qualquer outro idioma.
O e-mail de confirmação inicial (encomenda completa) é enviado pelo PrestaShop antes da divisão. O e-mail de backorder do módulo vem depois informar o cliente da expedição em várias vezes.
Casos particulares e limites
- Os produtos virtuais nunca são colocados em pendência.
- Os produtos em gestão avançada de stocks (ASM) são excluídos da divisão e ficam na encomenda expedível.
- Uma linha personalizada não é dividida: é encaminhada inteira para uma das duas encomendas.
- Se a gestão de stocks estiver desativada no PrestaShop, não é feita nenhuma divisão.
Resolução de problemas
Nenhuma encomenda é dividida
Verifique que a divisão está ativada, que a gestão de stocks do PrestaShop está ativa e que os produtos em causa não são virtuais nem estão em gestão avançada de stocks. Uma divisão automática só acontece para uma encomenda mista (com disponível e esgotado ao mesmo tempo). Para qualquer outro caso, use a divisão manual na ficha de encomenda.
A pendência mostra portes
Ative a opção « Portes grátis na backorder ». Os custos ficam então apenas na encomenda expedível.
O bloco não aparece na página de confirmação
Desde a versão 1.3.4, o bloco aparece com todos os temas através de três âncoras de confirmação. Se usar uma versão anterior, atualize o módulo.
Compatibilidade
PrestaShop 8.x e 9.x, multiloja, sem override nem Composer.