Kowal Shipping Rules - extensión de Magento 2 para métodos de envío, restricciones de entrega y cargos adicionales.
El envío en una tienda online rara vez es sencillo. Las configuraciones estándar de Magento funcionan bien en escenarios simples, pero rápidamente se vuelven insuficientes cuando la tienda vende productos con distintos tamaños, pesos, requisitos de transporte o costes de manipulación. En la práctica, esto significa la necesidad de ocultar determinados métodos de entrega, añadir cargos por embalaje, aplicar excepciones a productos concretos y crear reglas dependientes del país, del valor del carrito o de los atributos del producto.
Kowal ShippingRules se creó para gestionar este tipo de reglas en un único módulo. La extensión reúne tres áreas que a menudo están repartidas entre varios complementos independientes: métodos de envío, restricciones de métodos de entrega y extra fee. De este modo, la tienda puede gestionar la lógica de entrega de una forma más ordenada y previsible.
El módulo permite crear métodos de envío propios en Magento 2, asignarles tarifas, definir cuándo debe estar visible un método, bloquear opciones de entrega no disponibles y añadir cargos adicionales solo cuando estén justificados por las condiciones del pedido. Las reglas pueden basarse en los datos del carrito, la dirección de entrega, el método de envío seleccionado y los atributos de los productos.
El mayor valor del módulo es el control. El administrador de la tienda puede definir reglas que adapten automáticamente los métodos de entrega disponibles y los cargos al pedido concreto. El cliente ve opciones de entrega más adecuadas y el equipo de la tienda reduce la cantidad de ajustes manuales tras realizarse el pedido.
Problema que resuelve el módulo
En muchas tiendas Magento 2, el coste y la disponibilidad de la entrega dependen de más factores que el propio valor del carrito. Los productos pueden variar en peso, tamaño, forma de embalaje, categoría, tipo de transporte o riesgo de daño. Además, la tienda puede tener reglas diferentes para determinados países, regiones, códigos postales, grupos de clientes o métodos de envío.
Sin reglas dedicadas, aparecen problemas habituales:
- el cliente elige un locker para un producto que no cabe en él,
- la tienda asume costes adicionales en el envío de productos pesados o voluminosos,
- el equipo tiene que contactar con el cliente después de realizar el pedido,
- parte de las reglas se mantienen manualmente fuera de Magento,
- los cargos logísticos no son visibles en el carrito antes de la compra,
- los métodos de envío se muestran aunque no deberían estar disponibles,
- las reglas de entrega están repartidas entre varios módulos y son difíciles de mantener.
Kowal ShippingRules organiza estas situaciones. El módulo permite trasladar las reglas logísticas al panel de Magento y aplicarlas automáticamente durante la selección del envío.
¿Qué distingue a Kowal ShippingRules?
Un módulo en lugar de varias extensiones independientes
Kowal ShippingRules combina la gestión de métodos de envío, restricciones y cargos adicionales. Gracias a ello, la tienda no necesita mantener un módulo independiente para tablas de tarifas, otro módulo para bloquear métodos de entrega y otro más para extra fee.
Reglas basadas en los datos del pedido
Las decisiones pueden depender del contenido del carrito, los atributos de los productos, el valor del pedido, el peso, la cantidad de productos, la ubicación de la entrega y el método de envío seleccionado. Esto permite crear escenarios logísticos reales, y no solo tarifas simples por país o peso.
Mayor transparencia para el cliente
El cliente ve métodos de entrega adaptados al pedido. Si un método no está disponible, la tienda puede ocultarlo o mostrar un mensaje con el motivo de la falta de disponibilidad. Esto reduce el número de malentendidos durante la finalización de la compra.
Mejor control de los costes operativos
Los cargos adicionales pueden aplicarse solo en casos seleccionados: para productos voluminosos, delicados, que requieren embalaje especial o para métodos de entrega concretos. De este modo, la tienda puede recuperar costes logísticos que antes quedaban ocultos en el margen.
Preparado para la migración desde Amasty
El módulo se ha diseñado como una solución independiente, pero tiene en cuenta el escenario de transición desde módulos de Amasty utilizados para envío, restricciones y extra fee. Gracias a ello, puede utilizarse como dirección de consolidación de la configuración de entrega en un solo módulo.
¿Para quién es este módulo?
Kowal ShippingRules está pensado para tiendas Magento 2 que necesitan mayor flexibilidad en la gestión de la entrega de la que ofrece la configuración estándar de Magento.
El módulo será especialmente útil para tiendas que:
- venden productos pesados, delicados, largos, frágiles o de gran volumen,
- tienen distintas reglas de entrega para diferentes categorías de productos,
- necesitan ocultar métodos de envío no disponibles,
- añaden cargos por embalaje, transporte especial o gestión logística,
- quieren crear sus propios métodos de entrega sin trabajo de desarrollo en cada caso,
- utilizan reglas dependientes de los atributos de los productos,
- quieren limitar la gestión manual de excepciones después de realizar el pedido,
- planean organizar o sustituir varios módulos responsables del envío.
Funciones principales
Creación de métodos de envío propios
El módulo permite crear métodos de envío gestionados directamente desde el panel de Magento. Cada método puede tener su propio nombre, código, descripción, orden de clasificación, estado de actividad y condiciones de disponibilidad.
Ejemplos:
- Entrega en palé para productos pesados,
- Transporte especial para productos que requieren protección,
- Mensajería para voluminosos para categorías seleccionadas,
- Entrega local para códigos postales seleccionados,
- Recogida logística para pedidos no estándar.
Tarifas de envío según condiciones
A los métodos se les pueden asignar tarifas dependientes de los parámetros del pedido. Las tarifas pueden filtrarse, entre otros, por país, región, código postal, subtotal, peso, cantidad de productos y tipo de envío.
Ejemplos:
- precio de entrega distinto para pedidos por encima de un peso determinado,
- tarifa independiente para países seleccionados,
- precio dependiente del valor del carrito,
- tarifas diferentes para productos estándar y voluminosos,
- prioridad de tarifas cuando varias reglas coinciden al mismo tiempo.
Restricciones de métodos de entrega
Kowal ShippingRules permite limitar la disponibilidad de los métodos de envío. La regla puede ocultar el método o mostrar al cliente un mensaje indicando que esa forma de entrega no está disponible para ese pedido.
Ejemplos:
- ocultar el locker para productos demasiado grandes,
- bloquear el envío internacional para productos seleccionados,
- ocultar el método exprés para pedidos con productos que requieren preparación,
- mostrar el mensaje: Esta forma de entrega no está disponible para productos voluminosos.
Extra Fee, es decir, cargos adicionales
El módulo permite aplicar cargos adicionales basados en reglas. El extra fee puede aplicarse al carrito completo, a cada unidad de producto o a productos que cumplan condiciones concretas.
Ejemplos:
- cargo por embalaje no estándar,
- cargo por transporte de gran volumen,
- suplemento para productos que requieren protección adicional,
- cargo logístico para un método de entrega concreto,
- suplemento para pedidos a regiones seleccionadas.
Condiciones similares a las reglas de Magento
Kowal ShippingRules utiliza un generador de condiciones conocido en Magento. Para las personas que gestionan la tienda, esto significa una forma de trabajo similar a la configuración de promociones del carrito: seleccionar condición, operador y valor.
Las condiciones pueden referirse a:
- SKU,
- categoría del producto,
- tipo de producto,
- peso,
- precio,
- atributos de producto seleccionados,
- valor del carrito,
- cantidad de productos,
- país de entrega,
- región,
- ciudad,
- código postal,
- código de cupón,
- método de envío seleccionado.
Beneficios para el negocio
Reducción de pérdidas en el envío
No todos los pedidos cuestan lo mismo en gestión logística. Los productos voluminosos, delicados o que requieren embalaje especial suelen generar costes adicionales. Kowal ShippingRules permite añadir estos costes de forma controlada, en lugar de ocultarlos en el margen o gestionarlos manualmente después del pedido.
Menos pedidos erróneos
Si el cliente elige un método de entrega que no encaja con el producto, la tienda tendrá que resolver el problema manualmente más tarde. El módulo limita este tipo de situaciones, ya que puede ocultar métodos no disponibles antes incluso de realizar el pedido.
Mejor comunicación con el cliente
En lugar de eliminar un método sin explicación, la tienda puede mostrar un mensaje al cliente. Esto resulta especialmente útil cuando la limitación se debe a las características del producto, la ubicación o los requisitos de transporte.
Gestión de pedidos más rápida
Las reglas automáticas reducen la cantidad de excepciones gestionadas por el departamento comercial o de logística. Si la tienda define claramente las reglas de entrega en la fase de carrito, habrá menos casos que requieran corrección tras la compra.
Un solo lugar para gestionar el envío
Los métodos, las restricciones y los cargos adicionales están relacionados entre sí. Mantenerlos en un único módulo reduce el riesgo de conflictos y facilita el control de la configuración.
Ejemplos de escenarios de uso
Tienda con productos de gran volumen
La tienda vende productos que no se pueden enviar por mensajería estándar ni a un locker. El administrador puede marcar estos productos con un atributo y después preparar una regla que oculte el locker, muestre la entrega en palé y añada un cargo por volumen.
Resultado: el cliente ve de inmediato el método de entrega correcto y la tienda no tiene que contactar con él después de la compra para solicitar un suplemento.
Tienda con productos delicados
Los productos que requieren protección adicional pueden generar un coste de embalaje. El módulo permite añadir el cargo solo cuando en el carrito haya un producto que cumpla la condición.
Resultado: la tienda recupera el coste del embalaje y el cliente conoce el precio completo antes de realizar el pedido.
Tienda con entrega local
La tienda puede ofrecer el método Entrega local solo para determinados códigos postales o regiones. Para el resto de ubicaciones, el método no será visible.
Resultado: el cliente no seleccionará una entrega que la tienda no pueda realizar.
Tienda B2B
En la venta B2B, el coste de entrega puede depender del grupo de clientes, el valor del pedido, la región o el tipo de productos. El módulo permite preparar reglas que se ajusten mejor a la política comercial de la tienda.
Resultado: la tienda puede aplicar reglas diferentes para distintos tipos de clientes sin mantener varios procesos independientes.
Tienda con envío internacional
Es posible que determinados productos no estén disponibles para envío internacional. El módulo permite limitar los métodos de entrega para países concretos o condiciones de producto determinadas.
Resultado: la tienda reduce el riesgo de pedidos que no puede completar de acuerdo con el reglamento o las limitaciones del transportista.
Suplemento para un método de envío concreto
Si el método de entrega seleccionado genera un coste adicional de gestión, se le puede asociar un extra fee.
Resultado: el cargo aparece solo cuando el cliente selecciona un método de envío concreto.
Ejemplos de reglas que se pueden configurar
- Si el producto tiene el atributo
gabaryt, oculta el locker. - Si el peso del carrito supera el límite establecido, muestra la entrega en palé.
- Si el país de entrega está fuera de Polonia, oculta métodos seleccionados.
- Si en el carrito hay un producto de la categoría delicados, añade un cargo por embalaje.
- Si el valor del carrito está por debajo del importe establecido, aplica un cargo logístico adicional.
- Si el cliente selecciona transporte especial, añade extra fee.
- Si el código postal no pertenece a la zona atendida, oculta la entrega local.
- Si el pedido contiene un producto de un tipo determinado, muestra solo métodos de entrega seleccionados.
¿Cómo es trabajar con el módulo?
El administrador de la tienda trabaja en el panel de Magento. Primero crea un método de envío y luego le asigna tarifas y condiciones. Si se necesitan limitaciones, puede añadir una restricción para un método concreto o un grupo de métodos. Si el pedido debe incluir un cargo adicional, el administrador crea una regla de extra fee.
Proceso de ejemplo:
- Crea el método Entrega en palé.
- Añade una tarifa para el país Polonia y un peso superior al límite definido.
- Añade la condición de que el método se aplique a productos con el atributo
shipping_type = pallet. - Añade una restricción que oculte el locker para esos mismos productos.
- Añade un extra fee por la gestión del transporte especial.
- Comprueba un carrito de prueba y confirma que el cliente ve las opciones correctas.
Comparación del enfoque
Configuración estándar de Magento
Magento estándar permite configurar métodos de entrega básicos, pero los escenarios más complejos requieren extensiones adicionales o modificaciones a medida.
Varios módulos independientes
La tienda puede utilizar un módulo independiente para tarifas, otro para restricciones y otro para cargos. El problema entonces es mantener la coherencia entre las configuraciones.
Kowal ShippingRules
Kowal ShippingRules reúne métodos, restricciones y extra fee en un único módulo. Gracias a ello, las reglas de entrega son más fáciles de entender, mantener y probar.
Elementos que influyen en el SEO de la tienda
El módulo no es una herramienta SEO de forma directa, pero puede apoyar indirectamente la experiencia de compra, que influye en la conversión y en la calidad de la tienda:
- el cliente ve antes los costes reales de entrega,
- el checkout es más previsible,
- menos pedidos requieren corrección después de la compra,
- la tienda puede comunicar claramente las limitaciones logísticas,
- las reglas de entrega son más coherentes con la oferta de productos.
Una mejor gestión de la entrega puede reducir el número de carritos abandonados causados por costes poco claros o métodos de envío no disponibles.
Kowal ShippingRules — guía de instalación, configuración y uso
Objetivo del documento
Este documento describe la implantación práctica y el uso del módulo Kowal_ShippingRules en Magento 2. Está destinado a las personas responsables de la instalación del módulo, la configuración de la tienda, las pruebas de implantación y la gestión diaria de las reglas de envío.
El documento incluye:
- instalación del módulo,
- configuración básica,
- creación de métodos de envío,
- configuración de tarifas,
- gestión de restricciones de métodos de entrega,
- gestión de cargos adicionales Extra Fee,
- diagnóstico,
- migración desde módulos de Amasty,
- checklist de pruebas tras la implantación.
Información básica
Nombre técnico del módulo:
Kowal_ShippingRulesUbicación del módulo:
app/code/Kowal/ShippingRulesCódigo del carrier:
kowal_shippingrulesEl código del método de envío en checkout tiene el formato:
kowal_shippingrules_Ejemplo:
kowal_shippingrules_dostawa_paletowaRequisitos previos a la instalación
Antes de la instalación se debe confirmar:
- la tienda funciona con Magento 2.4.x,
- el entorno utiliza PHP
>=8.1, - el módulo
Kowal_Baseestá disponible, - se ha realizado una copia de seguridad de los archivos y de la base de datos,
- la implantación se realiza primero en un entorno de pruebas o staging,
- tras la instalación será posible ejecutar
setup:upgradeysetup:di:compile, - la persona que realiza las pruebas tiene acceso al panel de administración y al checkout.
Instalación del módulo
1. Carga el módulo
El módulo debe encontrarse en el directorio:
app/code/Kowal/ShippingRules2. Activa el módulo
bin/magento module:enable Kowal_ShippingRulesSi Kowal_Base aún no está activado, debe activarse antes o junto con el módulo:
bin/magento module:enable Kowal_Base Kowal_ShippingRules3. Actualiza la base de datos
bin/magento setup:upgradeEste comando crea las tablas del módulo y añade las columnas necesarias para la gestión de Extra Fee en quote, order, invoice y creditmemo.
4. Compila DI
En producción:
bin/magento setup:di:compile5. Limpia la caché
bin/magento cache:flush6. Comprueba el estado del módulo
bin/magento module:status Kowal_ShippingRulesEl módulo debe aparecer en la lista de módulos activos.
Comprobación tras la instalación
Después de la instalación, ejecuta el diagnóstico:
bin/magento kowal:shippingrules:stabilization:checkVersión completa en JSON:
bin/magento kowal:shippingrules:stabilization:check --jsonEl comando es read-only y no modifica datos. Comprueba, entre otras cosas:
- la presencia de las tablas del módulo,
- el número de registros,
- JSON de condiciones incorrecto,
- métodos activos sin tarifas activas,
- reglas de Extra Fee con tax class cuando el modo de impuestos está desactivado.
Si el comando devuelve errores, no se debe cambiar el módulo a uso en producción antes de aclararlos.
Configuración básica
Carrier
Ruta en el panel de Magento:
Stores / Configuration / Sales / Delivery Methods / Shipping Methods & RulesCampos:
Enabled— activa o desactiva el carrierkowal_shippingrules.Title— nombre del grupo de métodos visible en checkout.Test Method Name— nombre del método de prueba de configuración.Test Method Price— precio del método de prueba de configuración.Sort Order— orden del carrier en la lista de métodos de entrega.Show Method If Not Applicable— si se debe mostrar un error cuando no haya métodos disponibles.Displayed Error Message— mensaje cuando el método no está disponible.
Configuración más importante:
carriers/kowal_shippingrules/active = 1Si el carrier está desactivado, los métodos creados en el módulo no estarán disponibles en checkout.
Diagnóstico y funciones de emergencia
Ruta en el panel de Magento:
Stores / Configuration / Sales / Shipping Methods & RulesSección General Diagnostics:
Enable Debug Logging— guarda detalles de las decisiones en el log.Shadow Mode— modo preparado para comparar el comportamiento durante la migración.
Sección Restrictions:
Enable Restrictions— activa o desactiva solo las restricciones.
Sección Extra Fees:
Enable Extra Fees— activa o desactiva solo los cargos adicionales.Fee Tax Mode— define la forma de gestionar el impuesto para Extra Fee.
Modos de impuestos disponibles:
Do Not Calculate Tax— el módulo no calcula impuesto sobre Extra Fee.Calculate by Fee Tax Class— el módulo calcula el impuesto según la clase fiscal establecida en la regla de fee.
Configuración predeterminada y segura:
kowal_shippingrules/general/debug = 0kowal_shippingrules/general/shadow_mode = 0kowal_shippingrules/restrictions/enabled = 1kowal_shippingrules/fees/enabled = 1kowal_shippingrules/fees/tax_mode = noneMenú del módulo en el panel
Ruta:
Sales / Shipping Methods & RulesSecciones disponibles:
Shipping Methods— métodos de envío y tarifas,Shipping Restrictions— restricciones de métodos de entrega,Extra Fees— cargos adicionales.
Gestión de métodos de envío
¿Cuándo crear un método de envío?
Se debe crear un método de envío cuando la tienda necesite su propia opción de entrega, por ejemplo:
- entrega en palé,
- transporte especial,
- entrega local,
- mensajería para productos voluminosos,
- recogida logística,
- método disponible solo para productos o regiones seleccionados.
Creación del método
Ve a:
Sales / Shipping Methods & Rules / Shipping MethodsLuego selecciona Add New o edita un método existente.
Campos típicos del método:
Is Active— si el método está activo.Code— código técnico del método.Name— nombre visible para el cliente.Description— descripción del método.Sort Order— orden de visualización.Store Views— visibilidad por store view.Customer Groups— visibilidad por grupos de clientes.Conditions— condiciones de disponibilidad del método.
Recomendaciones para el campo Code:
- usa letras minúsculas,
- no uses caracteres polacos,
- no uses espacios,
- usa guiones bajos en lugar de espacios.
Ejemplos:
dostawa_paletowatransport_specjalnykurier_gabarytdostawa_lokalnaEl código completo del método en checkout tendrá el prefijo del carrier:
kowal_shippingrules_dostawa_paletowaTarifas del método
Un método activo debe tener al menos una tarifa activa. Si el método no tiene una tarifa coincidente, no aparecerá en checkout.
La tarifa puede depender de:
- país,
- región,
- código postal,
- valor del carrito,
- peso,
- cantidad de productos,
- tipo de envío,
- prioridad.
Modos de precio:
fixed— precio fijo,percent_subtotal— porcentaje del subtotal.
Ejemplos:
- precio de 29 zł para envíos de hasta 30 kg,
- precio de 149 zł para entrega en palé,
- 5% del valor del carrito para transporte especial,
- tarifa independiente para códigos postales seleccionados.
Condiciones del método
Las condiciones definen cuándo debe estar disponible el método.
Ejemplos:
- método disponible solo para productos de una categoría seleccionada,
- método disponible solo con un atributo de producto determinado,
- método disponible solo para carritos por encima de un valor definido,
- método disponible solo para un país de entrega seleccionado.
Si las condiciones están vacías, el método solo estará limitado por el estado, store view, customer group y una tarifa coincidente.
Gestión de restricciones de métodos de entrega
¿Cuándo usar restricciones?
Las restricciones sirven para ocultar o bloquear métodos de envío que no deberían estar disponibles para un pedido concreto.
Ejemplos:
- ocultar el locker para productos voluminosos,
- bloquear el envío internacional para una categoría seleccionada,
- mostrar un mensaje indicando que el transporte exprés no está disponible para productos bajo pedido,
- ocultar un método de entrega para un país seleccionado.
Creación de restricciones
Ve a:
Sales / Shipping Methods & Rules / Shipping RestrictionsLuego selecciona Add New o edita una restricción existente.
Campos típicos:
Is Active— si la restricción está activa.Name— nombre interno.Target Carrier— carrier al que se aplica la restricción.Target Method— método al que se aplica la restricción.Action— forma de funcionamiento.Message— mensaje para el cliente.Priority— prioridad.Stop Processing— si debe detenerse la comprobación adicional de reglas.Store Views— alcance por store view.Customer Groups— alcance por grupos de clientes.Conditions— condiciones de coincidencia.
Acciones de restricción
hide:
- el método se ocultará,
- el cliente no lo verá,
- adecuado para restricciones evidentes, por ejemplo un locker para productos voluminosos.
error:
- el método se mostrará como no disponible,
- el cliente verá un mensaje,
- adecuado cuando conviene explicar el motivo de la falta de disponibilidad.
Prioridad y Stop Processing
Las reglas se comprueban según la prioridad. Una prioridad más alta significa una comprobación anterior.
Stop Processing = Yes significa que, después de coincidir con esta restricción, el módulo no comprueba más restricciones para ese método.
Recomendación:
- usa prioridades más altas para reglas más específicas,
- usa prioridades más bajas para reglas generales,
- activa
Stop Processingsi la regla debe decidir de forma definitiva la disponibilidad del método.
Gestión de Extra Fee
¿Cuándo usar Extra Fee?
Extra Fee sirve para añadir cargos adicionales al pedido.
Ejemplos:
- cargo por embalaje no estándar,
- suplemento por transporte de gran volumen,
- cargo por productos delicados,
- cargo logístico para un método de entrega concreto,
- suplemento para regiones seleccionadas.
Creación de Extra Fee
Ve a:
Sales / Shipping Methods & Rules / Extra FeesLuego selecciona Add New o edita un cargo existente.
Campos típicos:
Is Active— si el fee está activo.Name— nombre interno.Label— nombre del cargo visible en totals.Target Carrier— carrier al que se aplica el fee.Target Method— método al que se aplica el fee.Price Type— tipo de precio.Price— valor del cargo.Apply Mode— forma de cálculo.Tax Class ID— clase fiscal, si se utiliza tax mode.Priority— prioridad.Stop Processing— si se debe detener el cálculo adicional del fee.Store Views— alcance por store view.Customer Groups— alcance por grupos de clientes.Conditions— condiciones para aplicar el cargo.
Modos de precio
fixed:
- importe fijo,
- por ejemplo, 19 zł por embalaje.
percent_subtotal:
- porcentaje del valor del carrito,
- por ejemplo, 3% del valor del pedido.
Modos de aplicación
cart:
- un solo cargo para todo el carrito.
per_item:
- cargo multiplicado por la cantidad de productos.
per_matching_item:
- cargo aplicado solo a productos que cumplan las condiciones.
Ejemplo:
Si el cargo por protección especial es de 5 zł y en el carrito hay 3 productos que cumplen la condición, el modo per_matching_item aplicará 15 zł.
Impuesto de Extra Fee
Por defecto, no se calcula impuesto sobre Extra Fee:
kowal_shippingrules/fees/tax_mode = nonePara calcular el impuesto:
- Configura
Fee Tax ModecomoCalculate by Fee Tax Class. - Completa
Tax Class IDen la regla de Extra Fee. - Prueba carrito, order, invoice y creditmemo.
El impuesto de Extra Fee debe comprobarse siempre con la configuración fiscal de la tienda concreta.
Gestión de condiciones
El módulo utiliza un generador de condiciones similar al de las reglas de Magento.
Las condiciones pueden referirse, entre otras cosas, a:
- atributos de producto,
- SKU,
- categoría,
- tipo de producto,
- peso,
- precio,
- valor del carrito,
- cantidad de productos,
- país de entrega,
- región,
- ciudad,
- código postal,
- cupón,
- método de envío seleccionado.
Ejemplo de condición para un producto voluminoso
Supuesto:
- el producto tiene el atributo
shipping_type, - el valor para gran volumen es
pallet.
Regla:
Jeżeli produkt w koszyku ma shipping_type = palletPosibles acciones:
- mostrar el método
Dostawa paletowa, - ocultar el locker,
- añadir el fee
Transport gabarytowy.
Recomendaciones al trabajar con condiciones
- crea primero una regla simple y pruébala en el carrito,
- evita demasiadas condiciones en una sola regla,
- describe las reglas con nombres claros,
- para reglas importantes usa atributos de producto inequívocos,
- después de cambiar atributos de producto, vuelve a probar el carrito.
Diagnóstico y logging
Archivo de log dedicado:
var/log/kowal_shipping_rules.logEl debug se puede activar en:
Stores / Configuration / Sales / Shipping Methods & Rules / General DiagnosticsActiva:
Enable Debug Logging = YesRecomendaciones:
- no dejes debug logging activado permanentemente en producción,
- activa debug solo durante el diagnóstico,
- cuando terminen las pruebas, desactiva debug,
- analiza los logs junto con el carrito de prueba y la configuración de reglas.
Funciones de emergencia
Si se produce un problema tras la implantación, se puede desactivar de forma independiente:
Todo el carrier
Stores / Configuration / Sales / Delivery Methods / Shipping Methods & Rules / Enabled = NoResultado:
- los métodos del carrier
kowal_shippingrulesno estarán disponibles.
Solo restricciones
Stores / Configuration / Sales / Shipping Methods & Rules / Restrictions / Enable Restrictions = NoResultado:
- los métodos no se ocultarán ni bloquearán mediante restricciones.
Solo Extra Fee
Stores / Configuration / Sales / Shipping Methods & Rules / Extra Fees / Enable Extra Fees = NoResultado:
- no se calcularán cargos adicionales.
Migración desde Amasty
Objetivo de la migración
La migración desde Amasty tiene como objetivo ayudar a trasladar la configuración de restricciones y extra fee a Kowal_ShippingRules.
El módulo de Kowal no requiere Amasty para funcionar con normalidad. Amasty puede utilizarse como fuente de datos de migración y como punto de referencia durante las pruebas.
Fuentes de datos compatibles
El migrador analiza:
amasty_shiprestriction_ruleamasty_extrafeeamasty_extrafee_optionTablas de destino:
kowal_shipping_restrictionkowal_shipping_feePrincipios de seguridad de la migración
La migración se ha diseñado con cautela:
- el informe es read-only,
- dry-run no guarda datos,
- apply funciona por defecto como preview,
- el guardado requiere la opción explícita
--execute, - solo se guardan registros con estado
ready, - los registros
manual_reviewyunsupportedse omiten, - la migración es idempotente gracias a los campos
migration_sourceymigration_source_key, - la migración no desactiva Amasty,
- la migración no cambia el tráfico automáticamente.
Paso 1 — informe base
Ejecuta:
bin/magento kowal:shippingrules:amasty:reportEl informe se guardará en:
var/report/kowal_shippingrules_amasty_report.jsonEl informe muestra la presencia y el volumen de las tablas de Amasty y de las tablas de Kowal.
Paso 2 — dry-run de transformación
Ejecuta:
bin/magento kowal:shippingrules:amasty:report --dry-run --limit=100Dry-run prepara el plan de transformación, pero no guarda nada.
Estados de los registros:
ready— el registro puede trasladarse automáticamente,manual_review— el registro requiere análisis manual,unsupported— el registro no es compatible con el migrador automático.
Si el informe contiene muchos manual_review o unsupported, estas reglas deben analizarse antes de apply.
Paso 3 — preview apply
Ejecuta:
bin/magento kowal:shippingrules:amasty:apply --limit=100Esto aún no guarda datos. El comando muestra cuántos registros se crearían, se omitirían o terminarían con error.
Paso 4 — apply de restricciones
Tras aceptar el preview:
bin/magento kowal:shippingrules:amasty:apply --type=restrictions --limit=100 --executeEl comando guardará solo las restricciones con estado ready.
Paso 5 — apply de Extra Fee
Tras aceptar el preview:
bin/magento kowal:shippingrules:amasty:apply --type=fees --limit=100 --executeEl comando guardará solo los extra fees con estado ready.
Paso 6 — diagnóstico después de la migración
Ejecuta:
bin/magento kowal:shippingrules:stabilization:checkComprueba también el panel:
Sales / Shipping Methods & Rules / Shipping RestrictionsSales / Shipping Methods & Rules / Extra FeesPaso 7 — pruebas comparativas con Amasty
Antes de desactivar o sustituir la configuración de Amasty, hay que comparar los resultados para carritos de prueba.
Carritos recomendados:
- producto estándar,
- producto voluminoso,
- producto delicado,
- varios productos con distintas condiciones,
- pedido con distintos países de entrega,
- pedido con distintos códigos postales,
- pedido con cupón,
- pedido con un método seleccionado afectado por Extra Fee.
Para cada carrito, comprueba:
- métodos de envío disponibles,
- métodos ocultos,
- mensajes de error,
- extra fee calculado,
- importes brutos/netos, si se usa tax fee,
- order,
- invoice,
- creditmemo.
Paso 8 — decisión sobre el cambio
Solo después de aceptar los resultados se puede planificar el cambio de la configuración de producción.
Recomendaciones:
- no desactives Amasty sin copia de seguridad,
- no elimines los datos de Amasty inmediatamente después de la migración,
- primero desactiva el funcionamiento a nivel de configuración,
- mantén la posibilidad de rollback,
- prepara una lista de reglas que requieran corrección manual.
Rollback después de la migración
Si surge un problema:
- Desactiva el carrier
Kowal ShippingRules. - Desactiva
Enable Restrictions. - Desactiva
Enable Extra Fees. - Restaura la configuración anterior de Amasty.
- Comprueba checkout.
- Conserva los informes de migración para su análisis.
Checklist después de la implantación
Técnica
module:statusmuestraKowal_ShippingRulescomo activo,setup:upgradeha finalizado sin errores,setup:di:compileha finalizado sin errores,cache:flushejecutado,stabilization:checkno devuelve errores,- el panel de administración muestra el menú
Shipping Methods & Rules, - el archivo de log se guarda cuando debug está activado.
De configuración
- el carrier está activado,
- se ha creado al menos un método de envío,
- el método activo tiene una tarifa activa,
- los store views están configurados correctamente,
- los customer groups están configurados correctamente,
- las restricciones están activadas o conscientemente desactivadas,
- los extra fees están activados o conscientemente desactivados,
- tax mode es coherente con la configuración fiscal de la tienda.
Checkout
- el método aparece para un carrito que cumple las condiciones,
- el método no aparece cuando no hay una tarifa coincidente,
- la restricción
hideoculta el método, - la restricción
errormuestra un mensaje, - extra fee aparece en totals al seleccionar el método,
- el cambio del método de envío recalcula el fee,
- order incluye los importes del fee,
- invoice incluye los importes del fee,
- creditmemo reembolsa correctamente el fee.
Problemas más frecuentes
El método no aparece en checkout
Comprueba:
- si el carrier está activado,
- si el método está activo,
- si el método tiene una tarifa activa,
- si la tarifa coincide con país, región, código postal, peso y subtotal,
- si el store view es correcto,
- si el customer group es correcto,
- si se cumplen las condiciones del método,
- si una restricción no está ocultando el método.
Extra Fee no se calcula
Comprueba:
- si
Enable Extra Fees = Yes, - si el fee está activo,
- si target carrier y target method son correctos,
- si se cumplen las condiciones del fee,
- si se ha seleccionado un método de envío,
- si el precio del fee es mayor que cero,
- si
Stop Processingde una regla anterior no ha detenido el cálculo posterior.
La restricción no funciona
Comprueba:
- si
Enable Restrictions = Yes, - si la restricción está activa,
- si target carrier y target method son correctos,
- si se cumplen las condiciones de la restricción,
- si la prioridad de la regla es la adecuada,
- si otra regla con
Stop Processingno termina el procesamiento antes.
El impuesto de Extra Fee no se calcula
Comprueba:
- si
Fee Tax Mode = Calculate by Fee Tax Class, - si la regla de fee tiene configurado
Tax Class ID, - si la configuración fiscal de Magento devuelve una tasa de impuesto para la dirección,
- si el carrito tiene dirección de entrega,
- si el fee se está calculando realmente.
Buenas prácticas
- Configura primero reglas simples y luego añade más condiciones.
- Prepara un carrito de prueba para cada regla importante.
- Usa nombres claros para métodos, restricciones y fees.
- Evita varias reglas muy similares con la misma prioridad.
- Documenta el motivo de crear una restricción o un fee en el nombre.
- Después de cambiar atributos de productos, realiza una prueba de checkout.
- Activa debug logging solo durante el diagnóstico.
- Realiza la migración desde Amasty por etapas: informe, dry-run, preview, execute, QA.
Documentos relacionados
README.md— descripción técnica del módulo para desarrolladores.docs/WDROZENIE.md— documentación detallada de implantación y arquitectura.docs/OPIS_MARKETINGOWY.md— descripción de marketing del módulo.



















