Kowal Shipping Rules - extensão Magento 2 para métodos de envio, restrições de entrega e taxas adicionais.
Os envios numa loja online raramente são simples. As definições padrão do Magento funcionam bem em cenários simples, mas rapidamente se tornam insuficientes quando a loja vende produtos com diferentes dimensões, pesos, requisitos de transporte ou custos de manuseamento. Na prática, isto significa a necessidade de ocultar determinados métodos de entrega, adicionar taxas de embalagem, aplicar exceções a produtos específicos e criar regras dependentes do país, do valor do carrinho ou dos atributos do produto.
O Kowal ShippingRules foi criado para gerir este tipo de regras num único módulo. A extensão reúne três áreas que muitas vezes estão dispersas por vários addons separados: métodos de envio, restrições de métodos de entrega e extra fee. Assim, a loja pode gerir a lógica de entrega de forma mais organizada e previsível.
O módulo permite criar métodos de envio personalizados no Magento 2, atribuir-lhes tarifas, definir quando o método deve estar visível, bloquear opções de entrega indisponíveis e adicionar taxas adicionais apenas quando estas são justificadas pelas condições da encomenda. As regras podem basear-se nos dados do carrinho, no endereço de entrega, no método de envio selecionado e nos atributos dos produtos.
O maior valor do módulo é o controlo. O administrador da loja pode definir regras que ajustam automaticamente os métodos de entrega disponíveis e as taxas à encomenda específica. O cliente vê opções de entrega mais adequadas e a equipa da loja reduz o número de correções manuais após a realização da encomenda.
Problema que o módulo resolve
Em muitas lojas Magento 2, o custo e a disponibilidade da entrega dependem de mais fatores do que apenas o valor do carrinho. Os produtos podem diferir em peso, tamanho, forma de embalagem, categoria, tipo de transporte ou risco de dano. Além disso, a loja pode ter regras diferentes para países, regiões, códigos postais, grupos de clientes ou métodos de envio específicos.
Sem regras dedicadas, surgem problemas típicos:
- o cliente escolhe um cacifo automático para um produto que não cabe nele,
- a loja suporta custos adicionais no envio de produtos pesados ou volumosos,
- a equipa tem de contactar o cliente após a realização da encomenda,
- parte das regras é mantida manualmente fora do Magento,
- as taxas logísticas não são visíveis no carrinho antes da compra,
- os métodos de envio são apresentados mesmo quando não deveriam estar disponíveis,
- as regras de entrega estão dispersas por vários módulos e são difíceis de manter.
O Kowal ShippingRules organiza estas situações. O módulo permite transferir as regras logísticas para o painel do Magento e aplicá-las automaticamente durante a seleção da entrega.
O que distingue o Kowal ShippingRules?
Um módulo em vez de várias extensões separadas
O Kowal ShippingRules combina a gestão de métodos de envio, restrições e taxas adicionais. Assim, a loja não precisa de manter um módulo separado para tabelas de tarifas, outro para bloquear métodos de entrega e mais um módulo para extra fee.
Regras baseadas nos dados da encomenda
As decisões podem depender do conteúdo do carrinho, dos atributos dos produtos, do valor da encomenda, do peso, da quantidade de produtos, da localização de entrega e do método de envio selecionado. Isto permite construir cenários logísticos reais, e não apenas tarifas simples por país ou peso.
Maior transparência para o cliente
O cliente vê métodos de entrega ajustados à encomenda. Se um método não estiver disponível, a loja pode ocultá-lo ou apresentar uma mensagem com o motivo da indisponibilidade. Isto reduz o número de mal-entendidos na finalização da compra.
Melhor controlo dos custos operacionais
As taxas adicionais podem ser aplicadas apenas em casos selecionados: para produtos volumosos, frágeis, que exijam embalagem especial ou para métodos de entrega específicos. Assim, a loja pode recuperar custos logísticos que antes estavam ocultos na margem.
Preparado para migração a partir do Amasty
O módulo foi concebido como uma solução independente, mas tem em conta o cenário de transição a partir dos módulos Amasty usados para envio, restrições e extra fee. Desta forma, pode ser utilizado como caminho para consolidar a configuração de entrega num único módulo.
Para quem é este módulo?
O Kowal ShippingRules destina-se a lojas Magento 2 que necessitam de maior flexibilidade na gestão de entregas do que a oferecida pela configuração padrão do Magento.
O módulo será especialmente útil para lojas que:
- vendem produtos pesados, frágeis, compridos, delicados ou de grandes dimensões,
- têm regras de entrega diferentes para diferentes categorias de produtos,
- precisam de ocultar métodos de envio indisponíveis,
- acrescentam taxas de embalagem, transporte especial ou gestão logística,
- querem criar os seus próprios métodos de entrega sem trabalho de desenvolvimento sempre que necessário,
- utilizam regras dependentes dos atributos dos produtos,
- querem reduzir o tratamento manual de exceções após a realização da encomenda,
- planeiam organizar ou substituir vários módulos responsáveis pelo envio.
Principais funcionalidades
Criação de métodos de envio personalizados
O módulo permite criar métodos de envio geridos diretamente a partir do painel do Magento. Cada método pode ter o seu próprio nome, código, descrição, ordenação, estado de atividade e condições de disponibilidade.
Exemplos:
- Entrega em palete para produtos pesados,
- Transporte especial para produtos que exigem proteção,
- Estafeta para volumes para categorias selecionadas,
- Entrega local para códigos postais selecionados,
- Recolha logística para encomendas não padronizadas.
Tarifas de envio dependentes das condições
É possível atribuir aos métodos tarifas dependentes dos parâmetros da encomenda. As tarifas podem ser filtradas, entre outros, por país, região, código postal, subtotal, peso, quantidade de produtos e tipo de envio.
Exemplos:
- preço de entrega diferente para encomendas acima de determinado peso,
- tarifa separada para países selecionados,
- preço dependente do valor do carrinho,
- tarifas diferentes para produtos standard e volumosos,
- prioridade das tarifas quando várias regras coincidem em simultâneo.
Restrições de métodos de entrega
O Kowal ShippingRules permite limitar a disponibilidade dos métodos de envio. A regra pode ocultar um método ou mostrar ao cliente uma mensagem a informar que determinada forma de entrega não está disponível para esta encomenda.
Exemplos:
- ocultar o cacifo automático para produtos demasiado grandes,
- bloquear o envio internacional para produtos selecionados,
- ocultar o método expresso para encomendas com produtos que exigem preparação,
- mostrar a mensagem: Esta forma de entrega não está disponível para produtos volumosos.
Extra Fee, ou seja, taxas adicionais
O módulo permite cobrar taxas adicionais com base em regras. A extra fee pode ser aplicada ao carrinho inteiro, a cada unidade do produto ou aos produtos que cumpram condições específicas.
Exemplos:
- taxa por embalagem não padronizada,
- taxa por transporte volumoso,
- sobretaxa para produtos que exigem proteção adicional,
- taxa logística para um método de entrega específico,
- sobretaxa para encomendas destinadas a regiões selecionadas.
Condições semelhantes às regras do Magento
O Kowal ShippingRules utiliza o gerador de condições conhecido do Magento. Para as pessoas que gerem a loja, isto significa uma forma de trabalho semelhante à configuração de promoções do carrinho: selecionar a condição, o operador e o valor.
As condições podem dizer respeito a:
- SKU,
- categoria do produto,
- tipo de produto,
- peso,
- preço,
- atributos selecionados dos produtos,
- valor do carrinho,
- quantidade de produtos,
- país de entrega,
- região,
- cidade,
- código postal,
- código de cupão,
- método de envio selecionado.
Vantagens para o negócio
Redução de perdas no envio
Nem todas as encomendas têm o mesmo custo de tratamento logístico. Produtos volumosos, frágeis ou que exigem embalagem especial geram frequentemente custos adicionais. O Kowal ShippingRules permite acrescentar esses custos de forma controlada, em vez de os ocultar na margem ou tratá-los manualmente após a encomenda.
Menos encomendas incorretas
Se o cliente escolher um método de entrega que não se adequa ao produto, a loja terá depois de resolver o problema manualmente. O módulo reduz estas situações, porque pode ocultar métodos indisponíveis ainda antes da realização da encomenda.
Melhor comunicação com o cliente
Em vez de remover um método sem explicação, a loja pode mostrar uma mensagem ao cliente. Isto é particularmente útil quando a limitação resulta das características do produto, da localização ou dos requisitos de transporte.
Processamento de encomendas mais rápido
As regras automáticas reduzem o número de exceções tratadas pelo departamento comercial ou pela logística. Se a loja definir claramente as regras de entrega na fase do carrinho, menos casos necessitarão de correção após a compra.
Um único local para gerir o envio
Os métodos, as restrições e as taxas adicionais estão relacionados entre si. Mantê-los num único módulo reduz o risco de conflitos e facilita o controlo da configuração.
Exemplos de cenários de utilização
Loja com produtos de grandes dimensões
A loja vende produtos que não podem ser enviados por estafeta standard nem para cacifo automático. O administrador pode marcar esses produtos com um atributo e depois preparar uma regra que ocultará o cacifo automático, apresentará a entrega em palete e adicionará uma taxa de volume.
Resultado: o cliente vê imediatamente o método de entrega correto e a loja não precisa de o contactar após a compra para solicitar uma sobretaxa.
Loja com produtos frágeis
Os produtos que exigem proteção adicional podem gerar um custo de embalagem. O módulo permite acrescentar a taxa apenas quando existe no carrinho um produto que cumpre a condição.
Resultado: a loja recupera o custo da embalagem e o cliente conhece o preço total antes de realizar a encomenda.
Loja com entrega local
A loja pode disponibilizar o método Entrega local apenas para determinados códigos postais ou regiões. Para as restantes localizações, o método não estará visível.
Resultado: o cliente não escolherá uma entrega que a loja não pode realizar.
Loja B2B
Nas vendas B2B, o custo de entrega pode depender do grupo de clientes, do valor da encomenda, da região ou do tipo de produtos. O módulo permite preparar regras que correspondem melhor à política comercial da loja.
Resultado: a loja pode aplicar regras diferentes a vários tipos de clientes sem manter vários processos separados.
Loja com entrega internacional
Alguns produtos podem não estar disponíveis para envio internacional. O módulo permite limitar os métodos de entrega para países específicos ou condições relacionadas com os produtos.
Resultado: a loja reduz o risco de encomendas que não pode cumprir de acordo com os regulamentos ou as limitações da transportadora.
Sobretaxa para um método de envio específico
Se o método de entrega selecionado gerar um custo adicional de tratamento, é possível associar-lhe uma extra fee.
Resultado: a taxa aparece apenas quando o cliente escolhe um método de envio específico.
Exemplos de regras que podem ser configuradas
- Se o produto tiver o atributo
gabaryt, ocultar o cacifo automático. - Se o peso do carrinho exceder o limite definido, mostrar entrega em palete.
- Se o país de entrega for fora da Polónia, ocultar métodos selecionados.
- Se o carrinho contiver um produto da categoria delicados, adicionar taxa de embalagem.
- Se o valor do carrinho for inferior ao montante definido, aplicar uma taxa logística adicional.
- Se o cliente escolher transporte especial, adicionar extra fee.
- Se o código postal não pertencer à área servida, ocultar entrega local.
- Se a encomenda contiver um produto de determinado tipo, mostrar apenas métodos de entrega selecionados.
Como é trabalhar com o módulo?
O administrador da loja trabalha no painel do Magento. Primeiro cria um método de envio, depois atribui-lhe tarifas e condições. Se forem necessárias limitações, pode adicionar uma restrição a um método específico ou a um grupo de métodos. Se a encomenda dever incluir uma taxa adicional, o administrador cria uma regra de extra fee.
Processo de exemplo:
- Criar o método Entrega em palete.
- Adicionar uma tarifa para o país Polónia e para peso acima de determinado limite.
- Adicionar a condição de que o método se aplica a produtos com o atributo
shipping_type = pallet. - Adicionar uma restrição que oculta o cacifo automático para esses mesmos produtos.
- Adicionar uma extra fee pelo tratamento de transporte especial.
- Verificar um carrinho de teste e confirmar que o cliente vê as opções corretas.
Comparação da abordagem
Configuração padrão do Magento
O Magento standard permite configurar métodos básicos de entrega, mas cenários mais complexos exigem extensões adicionais ou modificações personalizadas.
Vários módulos separados
A loja pode utilizar um módulo separado para tarifas, outro para restrições e outro para taxas. O problema é então manter a consistência entre as configurações.
Kowal ShippingRules
O Kowal ShippingRules reúne métodos, restrições e extra fee num único módulo. Assim, as regras de entrega tornam-se mais fáceis de compreender, manter e testar.
Elementos que influenciam o SEO da loja
O módulo não é diretamente uma ferramenta de SEO, mas pode apoiar indiretamente a experiência de compra, que é importante para a conversão e a qualidade da loja:
- o cliente vê mais rapidamente os custos reais de entrega,
- o checkout é mais previsível,
- menos encomendas exigem correção após a compra,
- a loja pode comunicar claramente as limitações logísticas,
- as regras de entrega são mais consistentes com a oferta de produtos.
Uma melhor gestão da entrega pode reduzir o número de carrinhos abandonados resultantes de custos pouco claros ou de métodos de envio indisponíveis.
Kowal ShippingRules — instruções de instalação, configuração e utilização
Objetivo do documento
Este documento descreve a implementação prática e a utilização do módulo Kowal_ShippingRules no Magento 2. Destina-se a pessoas responsáveis pela instalação do módulo, configuração da loja, testes de implementação e gestão diária das regras de envio.
O documento abrange:
- instalação do módulo,
- configuração básica,
- criação de métodos de envio,
- configuração de tarifas,
- gestão de restrições de métodos de entrega,
- gestão de taxas adicionais Extra Fee,
- diagnóstico,
- migração a partir de módulos Amasty,
- checklist de testes após a implementação.
Informações básicas
Nome técnico do módulo:
Kowal_ShippingRulesLocalização do módulo:
app/code/Kowal/ShippingRulesCódigo do carrier:
kowal_shippingrulesO código do método de envio no checkout tem o formato:
kowal_shippingrules_Exemplo:
kowal_shippingrules_dostawa_paletowaRequisitos antes da instalação
Antes da instalação, deve confirmar-se que:
- a loja funciona em Magento 2.4.x,
- o ambiente utiliza PHP
>=8.1, - o módulo
Kowal_Baseestá disponível, - foi efetuado backup dos ficheiros e da base de dados,
- a implementação é realizada primeiro num ambiente de teste ou staging,
- após a instalação será possível executar
setup:upgradeesetup:di:compile, - a pessoa responsável pelos testes tem acesso ao painel de administração e ao checkout.
Instalação do módulo
1. Carregue o módulo
O módulo deve encontrar-se no diretório:
app/code/Kowal/ShippingRules2. Ative o módulo
bin/magento module:enable Kowal_ShippingRulesSe Kowal_Base ainda não estiver ativado, deve ativá-lo antes ou em conjunto com o módulo:
bin/magento module:enable Kowal_Base Kowal_ShippingRules3. Atualize a base de dados
bin/magento setup:upgradeEste comando cria as tabelas do módulo e adiciona as colunas necessárias para suportar Extra Fee em quote, order, invoice e creditmemo.
4. Compile DI
Em produção:
bin/magento setup:di:compile5. Limpe a cache
bin/magento cache:flush6. Verifique o estado do módulo
bin/magento module:status Kowal_ShippingRulesO módulo deve encontrar-se na lista de módulos ativos.
Verificação após a instalação
Após a instalação, execute o diagnóstico:
bin/magento kowal:shippingrules:stabilization:checkVariante completa em JSON:
bin/magento kowal:shippingrules:stabilization:check --jsonO comando é read-only e não altera os dados. Verifica, entre outros:
- presença das tabelas do módulo,
- número de registos,
- JSON incorreto de condições,
- métodos ativos sem tarifas ativas,
- regras de Extra Fee com tax class quando o modo de imposto está desativado.
Se o comando devolver erros, o módulo não deve ser colocado em utilização em produção antes de estes serem esclarecidos.
Configuração básica
Carrier
Caminho no painel do Magento:
Stores / Configuration / Sales / Delivery Methods / Shipping Methods & RulesCampos:
Enabled— ativa ou desativa o carrierkowal_shippingrules.Title— nome do grupo de métodos visível no checkout.Test Method Name— nome do método de teste de configuração.Test Method Price— preço do método de teste de configuração.Sort Order— ordem do carrier na lista de métodos de entrega.Show Method If Not Applicable— se deve mostrar erro quando não há métodos disponíveis.Displayed Error Message— mensagem quando o método não está disponível.
Definição mais importante:
carriers/kowal_shippingrules/active = 1Se o carrier estiver desativado, os métodos criados no módulo não estarão disponíveis no checkout.
Diagnóstico e funções de emergência
Caminho no painel do Magento:
Stores / Configuration / Sales / Shipping Methods & RulesSecção General Diagnostics:
Enable Debug Logging— grava detalhes das decisões no log.Shadow Mode— modo preparado para comparar comportamentos durante a migração.
Secção Restrictions:
Enable Restrictions— ativa ou desativa apenas as restrições.
Secção Extra Fees:
Enable Extra Fees— ativa ou desativa apenas as taxas adicionais.Fee Tax Mode— define a forma de tratamento do imposto para Extra Fee.
Modos de imposto disponíveis:
Do Not Calculate Tax— o módulo não calcula imposto sobre Extra Fee.Calculate by Fee Tax Class— o módulo calcula imposto de acordo com a classe fiscal definida na regra da fee.
Definições padrão e seguras:
kowal_shippingrules/general/debug = 0kowal_shippingrules/general/shadow_mode = 0kowal_shippingrules/restrictions/enabled = 1kowal_shippingrules/fees/enabled = 1kowal_shippingrules/fees/tax_mode = noneMenu do módulo no painel
Caminho:
Sales / Shipping Methods & RulesSecções disponíveis:
Shipping Methods— métodos de envio e tarifas,Shipping Restrictions— restrições de métodos de entrega,Extra Fees— taxas adicionais.
Gestão de métodos de envio
Quando criar um método de envio?
Deve ser criado um método de envio quando a loja necessita de uma opção de entrega própria, por exemplo:
- entrega em palete,
- transporte especial,
- entrega local,
- estafeta para produtos volumosos,
- recolha logística,
- método disponível apenas para produtos ou regiões selecionados.
Criação do método
Aceda a:
Sales / Shipping Methods & Rules / Shipping MethodsEm seguida, selecione Add New ou edite um método existente.
Campos típicos do método:
Is Active— se o método está ativo.Code— código técnico do método.Name— nome visível para o cliente.Description— descrição do método.Sort Order— ordem de apresentação.Store Views— visibilidade para store view.Customer Groups— visibilidade para grupos de clientes.Conditions— condições de disponibilidade do método.
Recomendações para o campo Code:
- usar letras minúsculas,
- não usar caracteres polacos,
- não usar espaços,
- usar underscores em vez de espaços.
Exemplos:
dostawa_paletowatransport_specjalnykurier_gabarytdostawa_lokalnaO código completo do método no checkout terá o prefixo do carrier:
kowal_shippingrules_dostawa_paletowaTarifas do método
Um método ativo deve ter pelo menos uma tarifa ativa. Se o método não tiver uma tarifa correspondente, não aparecerá no checkout.
A tarifa pode depender de:
- país,
- região,
- código postal,
- valor do carrinho,
- peso,
- quantidade de produtos,
- tipo de envio,
- prioridade.
Modos de preço:
fixed— preço fixo,percent_subtotal— percentagem do subtotal.
Exemplos:
- preço de 29 zł para envios até 30 kg,
- preço de 149 zł para entrega em palete,
- 5% do valor do carrinho para transporte especial,
- tarifa separada para códigos postais selecionados.
Condições do método
As condições definem quando o método deve estar disponível.
Exemplos:
- método disponível apenas para produtos de uma categoria selecionada,
- método disponível apenas com um determinado atributo do produto,
- método disponível apenas para carrinho acima de determinado valor,
- método disponível apenas para um país de entrega selecionado.
Se as condições estiverem vazias, o método é limitado apenas pelo estado, store view, grupo de clientes e tarifa correspondente.
Gestão de restrições de métodos de entrega
Quando usar restrições?
As restrições servem para ocultar ou bloquear métodos de envio que não devem estar disponíveis para uma determinada encomenda.
Exemplos:
- ocultar o cacifo automático para produtos volumosos,
- bloquear o envio internacional para uma categoria selecionada,
- mostrar mensagem de que o transporte expresso está indisponível para produtos por encomenda,
- ocultar o método de entrega para um país selecionado.
Criação de restrições
Aceda a:
Sales / Shipping Methods & Rules / Shipping RestrictionsEm seguida, selecione Add New ou edite uma restrição existente.
Campos típicos:
Is Active— se a restrição está ativa.Name— nome interno.Target Carrier— carrier ao qual a restrição se aplica.Target Method— método ao qual a restrição se aplica.Action— forma de atuação.Message— mensagem para o cliente.Priority— prioridade.Stop Processing— se deve interromper a verificação de regras seguintes.Store Views— âmbito da store view.Customer Groups— âmbito dos grupos de clientes.Conditions— condições de correspondência.
Ações das restrições
hide:
- o método será ocultado,
- o cliente não o verá,
- adequado para limitações óbvias, por exemplo, cacifo automático para volumes.
error:
- o método será mostrado como indisponível,
- o cliente verá uma mensagem,
- adequado quando vale a pena explicar o motivo da indisponibilidade.
Prioridade e Stop Processing
As regras são verificadas de acordo com a prioridade. Prioridade mais elevada significa verificação mais cedo.
Stop Processing = Yes significa que, após corresponder a esta restrição, o módulo não verifica restrições seguintes para esse método.
Recomendação:
- utilize prioridades mais altas para regras mais específicas,
- utilize prioridades mais baixas para regras gerais,
- ative
Stop Processingse a regra tiver de decidir em definitivo a disponibilidade do método.
Gestão de Extra Fee
Quando usar Extra Fee?
Extra Fee serve para acrescentar taxas adicionais à encomenda.
Exemplos:
- taxa por embalagem não padronizada,
- sobretaxa por transporte volumoso,
- taxa por produtos frágeis,
- taxa logística para um método de entrega específico,
- sobretaxa para regiões selecionadas.
Criação de Extra Fee
Aceda a:
Sales / Shipping Methods & Rules / Extra FeesEm seguida, selecione Add New ou edite uma taxa existente.
Campos típicos:
Is Active— se a fee está ativa.Name— nome interno.Label— nome da taxa visível nos totais.Target Carrier— carrier ao qual a fee se aplica.Target Method— método ao qual a fee se aplica.Price Type— tipo de preço.Price— valor da taxa.Apply Mode— forma de cálculo.Tax Class ID— classe fiscal, se o tax mode estiver a ser usado.Priority— prioridade.Stop Processing— se deve interromper o cálculo de fees seguintes.Store Views— âmbito da store view.Customer Groups— âmbito dos grupos de clientes.Conditions— condições para aplicação.
Modos de preço
fixed:
- montante fixo,
- por exemplo, 19 zł por embalagem.
percent_subtotal:
- percentagem do valor do carrinho,
- por exemplo, 3% do valor da encomenda.
Modos de cálculo
cart:
- uma taxa para todo o carrinho.
per_item:
- taxa multiplicada pela quantidade de produtos.
per_matching_item:
- taxa aplicada apenas aos produtos que cumprem as condições.
Exemplo:
Se a taxa por proteção especial for de 5 zł e existirem 3 produtos no carrinho que cumprem a condição, o modo per_matching_item cobrará 15 zł.
Imposto sobre Extra Fee
Por predefinição, o imposto sobre Extra Fee não é calculado:
kowal_shippingrules/fees/tax_mode = nonePara calcular imposto:
- Defina
Fee Tax ModecomoCalculate by Fee Tax Class. - Preencha
Tax Class IDna regra de Extra Fee. - Teste o carrinho, order, invoice e creditmemo.
O imposto sobre Extra Fee deve ser sempre verificado em conjunto com a configuração fiscal da loja específica.
Gestão das condições
O módulo utiliza um gerador de condições semelhante às regras do Magento.
As condições podem dizer respeito, entre outros, a:
- atributos dos produtos,
- SKU,
- categorias,
- tipo de produto,
- peso,
- preço,
- valor do carrinho,
- quantidade de produtos,
- país de entrega,
- região,
- cidade,
- código postal,
- cupão,
- método de envio selecionado.
Exemplo de condição para produto volumoso
Pressuposto:
- o produto tem o atributo
shipping_type, - o valor para volume é
pallet.
Regra:
Jeżeli produkt w koszyku ma shipping_type = palletAções possíveis:
- mostrar o método
Dostawa paletowa, - ocultar o cacifo automático,
- adicionar a fee
Transport gabarytowy.
Recomendações ao trabalhar com condições
- crie primeiro uma regra simples e teste-a no carrinho,
- evite demasiadas condições numa única regra,
- descreva as regras com nomes claros,
- para regras importantes utilize atributos de produto inequívocos,
- depois de alterar atributos dos produtos, teste novamente o carrinho.
Diagnóstico e registo
Ficheiro de log dedicado:
var/log/kowal_shipping_rules.logO debug pode ser ativado em:
Stores / Configuration / Sales / Shipping Methods & Rules / General DiagnosticsAtive:
Enable Debug Logging = YesRecomendações:
- não deixe o debug logging ativado permanentemente em produção,
- ative o debug apenas durante o diagnóstico,
- após concluir os testes, desative o debug,
- analise os logs em conjunto com o carrinho de teste e a configuração das regras.
Funções de emergência
Se surgir um problema após a implementação, é possível desativar de forma independente:
Todo o carrier
Stores / Configuration / Sales / Delivery Methods / Shipping Methods & Rules / Enabled = NoEfeito:
- os métodos do carrier
kowal_shippingrulesnão estarão disponíveis.
Apenas restrições
Stores / Configuration / Sales / Shipping Methods & Rules / Restrictions / Enable Restrictions = NoEfeito:
- os métodos não serão ocultados nem bloqueados por restrições.
Apenas Extra Fee
Stores / Configuration / Sales / Shipping Methods & Rules / Extra Fees / Enable Extra Fees = NoEfeito:
- as taxas adicionais não serão calculadas.
Migração a partir do Amasty
Objetivo da migração
A migração a partir do Amasty destina-se a ajudar na transferência da configuração de restrições e extra fee para Kowal_ShippingRules.
O módulo Kowal não requer o Amasty para funcionamento normal. O Amasty pode ser utilizado como fonte de dados de migração e ponto de referência durante os testes.
Fontes de dados suportadas
O migrador analisa:
amasty_shiprestriction_ruleamasty_extrafeeamasty_extrafee_optionTabelas de destino:
kowal_shipping_restrictionkowal_shipping_feeRegras de segurança da migração
A migração foi concebida com cautela:
- o relatório é read-only,
- o dry-run não grava dados,
- o apply funciona por predefinição como preview,
- a gravação requer a opção explícita
--execute, - apenas são gravados registos com estado
ready, - os registos
manual_revieweunsupportedsão ignorados, - a migração é idempotente graças aos campos
migration_sourceemigration_source_key, - a migração não desativa o Amasty,
- a migração não comuta o tráfego automaticamente.
Passo 1 — relatório base
Execute:
bin/magento kowal:shippingrules:amasty:reportO relatório será guardado em:
var/report/kowal_shippingrules_amasty_report.jsonO relatório mostra a presença e a dimensão das tabelas Amasty e das tabelas Kowal.
Passo 2 — dry-run da transformação
Execute:
bin/magento kowal:shippingrules:amasty:report --dry-run --limit=100O dry-run prepara o plano de transformação, mas não grava nada.
Estados dos registos:
ready— o registo pode ser transferido automaticamente,manual_review— o registo requer análise manual,unsupported— o registo não é suportado pelo migrador automático.
Se o relatório contiver muitos manual_review ou unsupported, essas regras devem ser analisadas antes do apply.
Passo 3 — preview apply
Execute:
bin/magento kowal:shippingrules:amasty:apply --limit=100Isto continua sem gravar dados. O comando mostra quantos registos seriam criados, ignorados ou terminariam com erro.
Passo 4 — apply das restrições
Após aprovação do preview:
bin/magento kowal:shippingrules:amasty:apply --type=restrictions --limit=100 --executeO comando gravará apenas restrições com estado ready.
Passo 5 — apply de Extra Fee
Após aprovação do preview:
bin/magento kowal:shippingrules:amasty:apply --type=fees --limit=100 --executeO comando gravará apenas extra fees com estado ready.
Passo 6 — diagnóstico após migração
Execute:
bin/magento kowal:shippingrules:stabilization:checkVerifique também o painel:
Sales / Shipping Methods & Rules / Shipping RestrictionsSales / Shipping Methods & Rules / Extra FeesPasso 7 — testes comparativos com Amasty
Antes de desativar ou substituir a configuração Amasty, os resultados devem ser comparados para carrinhos de teste.
Carrinhos recomendados:
- produto standard,
- produto volumoso,
- produto frágil,
- vários produtos com condições diferentes,
- encomenda com diferentes países de entrega,
- encomenda com diferentes códigos postais,
- encomenda com cupão,
- encomenda com um método abrangido por Extra Fee selecionado.
Para cada carrinho, verifique:
- métodos de entrega disponíveis,
- métodos ocultos,
- mensagens de erro,
- extra fee calculada,
- valores brutos/líquidos, se a tax fee for utilizada,
- order,
- invoice,
- creditmemo.
Passo 8 — decisão de comutação
Só após a aprovação dos resultados se poderá planear a comutação da configuração de produção.
Recomendações:
- não desative o Amasty sem backup,
- não elimine os dados Amasty imediatamente após a migração,
- primeiro desative o funcionamento ao nível da configuração,
- mantenha a possibilidade de rollback,
- prepare uma lista de regras que exigem correção manual.
Rollback após migração
Se surgir um problema:
- Desative o carrier
Kowal ShippingRules. - Desative
Enable Restrictions. - Desative
Enable Extra Fees. - Reponha a configuração Amasty anterior.
- Verifique o checkout.
- Guarde os relatórios de migração para análise.
Checklist após a implementação
Técnica
module:statusmostraKowal_ShippingRulescomo ativo,setup:upgradeterminou sem erros,setup:di:compileterminou sem erros,cache:flushexecutado,stabilization:checknão devolve erros,- o painel de administração mostra o menu
Shipping Methods & Rules, - o ficheiro de log é gravado quando o debug está ativado.
De configuração
- o carrier está ativado,
- foi criado pelo menos um método de envio,
- o método ativo tem uma tarifa ativa,
- as store views estão corretamente configuradas,
- os customer groups estão corretamente configurados,
- as restrições estão ativadas ou conscientemente desativadas,
- as extra fees estão ativadas ou conscientemente desativadas,
- o tax mode está em conformidade com a configuração fiscal da loja.
Checkout
- o método aparece para um carrinho que cumpre as condições,
- o método não aparece quando não existe tarifa correspondente,
- a restrição
hideoculta o método, - a restrição
errormostra uma mensagem, - a extra fee aparece nos totais após a seleção do método,
- a alteração do método de envio recalcula a fee,
- o order contém os valores da fee,
- o invoice contém os valores da fee,
- o creditmemo reembolsa corretamente a fee.
Problemas mais frequentes
O método não aparece no checkout
Verifique:
- se o carrier está ativado,
- se o método está ativo,
- se o método tem uma tarifa ativa,
- se a tarifa corresponde ao país, região, código postal, peso e subtotal,
- se a store view está correta,
- se o customer group está correto,
- se as condições do método são cumpridas,
- se a restrição não oculta o método.
A Extra Fee não é calculada
Verifique:
- se
Enable Extra Fees = Yes, - se a fee está ativa,
- se o target carrier e o target method estão corretos,
- se as condições da fee são cumpridas,
- se foi selecionado um método de envio,
- se o preço da fee é superior a zero,
- se o
Stop Processingde uma regra anterior não interrompeu o cálculo subsequente.
A restrição não funciona
Verifique:
- se
Enable Restrictions = Yes, - se a restrição está ativa,
- se o target carrier e o target method estão corretos,
- se as condições da restrição são cumpridas,
- se a prioridade da regra é adequada,
- se outra regra com
Stop Processingnão termina o processamento antes.
O imposto sobre Extra Fee não é calculado
Verifique:
- se
Fee Tax Mode = Calculate by Fee Tax Class, - se a regra da fee tem
Tax Class IDdefinido, - se a configuração fiscal do Magento devolve a taxa de imposto para o endereço,
- se o carrinho tem endereço de entrega,
- se a fee está realmente a ser calculada.
Boas práticas
- Configure primeiro regras simples e depois adicione condições seguintes.
- Prepare um carrinho de teste para cada regra importante.
- Utilize nomes claros para métodos, restrições e fees.
- Evite várias regras muito semelhantes com a mesma prioridade.
- Documente o motivo da criação da restrição ou fee no nome.
- Após alterar atributos dos produtos, execute um teste de checkout.
- Ative o debug logging apenas durante o diagnóstico.
- Execute a migração a partir do Amasty por etapas: relatório, dry-run, preview, execute, QA.
Documentos relacionados
README.md— descrição técnica do módulo para programadores.docs/WDROZENIE.md— documentação detalhada de implementação e arquitetura.docs/OPIS_MARKETINGOWY.md— descrição de marketing do módulo.



















