Kowal Shipping Rules - extensión de Magento 2 para métodos de envío, restricciones de entrega y cargos adicionales.
- SKU
- M2-SHIPPING-RULES
Descripción / 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.
More Information
| Conformidad con la plantilla | Luma / Blank, KOWAL |
|---|
Instrucciones de instalación del módulo
Kowal ShippingRules — instrucciones de instalación, configuración y uso
Objetivo del documento
Este documento describe la implementación práctica y el uso del módulo Kowal_ShippingRules en Magento 2. Está dirigido a las personas responsables de la instalación del módulo, la configuración de la tienda, las pruebas de implementació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 Amasty,
- checklist de pruebas posteriores a la implementación.
Información básica
Nombre técnico del módulo:
Kowal_ShippingRulesUbicación del módulo:
vendor/kowal/module-shipping-rulesCó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 antes de la instalación
Antes de la instalación, confirma lo siguiente:
- 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 implementación se realiza primero en un entorno de pruebas o staging,
- después de 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
Instalación mediante Composer
Recibirás por correo electrónico los datos de acceso al repositorio Composer, es decir, la dirección de e-mail del cliente y el token de licencia, después de la compra. También están disponibles en el panel de cliente tras iniciar sesión en kowal.store. Sustituye TWOJ_EMAIL_KLIENTA por la dirección de e-mail de tu cuenta y TWOJ_TOKEN por el token recibido. Ejecuta los comandos en el directorio raíz de Magento.
composer config repositories.kowal composer https://repo.kowal.storecomposer config http-basic.repo.kowal.store 'TWOJ_EMAIL_KLIENTA' 'TWOJ_TOKEN'composer require kowal/module-shipping-rules2. Activa el módulo
bin/magento module:enable Kowal_ShippingRulesSi Kowal_Base todavía 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 gestionar 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 debería aparecer en la lista de módulos activos.
Comprobación posterior a la instalación
Después de la instalación, ejecuta el diagnóstico:
bin/magento kowal:shippingrules:stabilization:checkVariante completa en JSON:
bin/magento kowal:shippingrules:stabilization:check --jsonEl comando es read-only y no modifica los datos. Comprueba, entre otros aspectos:
- la presencia de las tablas del módulo,
- el número de registros,
- JSON de condiciones incorrecto,
- métodos activos sin tarifas activas,
- reglas Extra Fee con tax class cuando el modo de impuestos está desactivado.
Si el comando devuelve errores, no se debe pasar 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 configuración de prueba.Test Method Price— precio del método de configuración de prueba.Sort Order— orden del carrier en la lista de métodos de entrega.Show Method If Not Applicable— indica si se muestra un error cuando no hay métodos disponibles.Displayed Error Message— mensaje cuando el método no está disponible.
Ajuste 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 los 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 únicamente las restricciones.
Sección Extra Fees:
Enable Extra Fees— activa o desactiva únicamente los cargos adicionales.Fee Tax Mode— define cómo se gestiona el impuesto para Extra Fee.
Modos de impuesto disponibles:
Do Not Calculate Tax— el módulo no calcula impuestos sobre Extra Fee.Calculate by Fee Tax Class— el módulo calcula el impuesto según la clase de impuesto configurada en la regla fee.
Ajustes predeterminados y seguros:
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?
Debe crearse un método de envío cuando la tienda necesita una opción de entrega propia, 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 de un método
Ve a:
Sales / Shipping Methods & Rules / Shipping MethodsA continuación, selecciona Add New o edita un método existente.
Campos habituales del método:
Is Active— indica 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 para store view.Customer Groups— visibilidad para grupos de clientes.Conditions— condiciones de disponibilidad del método.
Recomendaciones para el campo Code:
- utiliza minúsculas,
- no utilices caracteres polacos,
- no utilices espacios,
- utiliza 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 debería tener al menos una tarifa activa. Si el método no tiene ninguna 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 determinan 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 específico,
- método disponible solo para carritos por encima de un valor determinado,
- método disponible solo para un país de entrega seleccionado.
Si las condiciones están vacías, el método se limita únicamente 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 punto de recogida 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 una restricción
Ve a:
Sales / Shipping Methods & Rules / Shipping RestrictionsA continuación, selecciona Add New o edita una restricción existente.
Campos habituales:
Is Active— indica 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— modo de funcionamiento.Message— mensaje para el cliente.Priority— prioridad.Stop Processing— indica si se detiene la comprobación de reglas posteriores.Store Views— alcance de store view.Customer Groups— alcance de grupos de clientes.Conditions— condiciones de coincidencia.
Acciones de restricción
hide:
- el método quedará oculto,
- el cliente no lo verá,
- adecuado para limitaciones evidentes, por ejemplo, punto de recogida 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 que se comprueba antes.
Stop Processing = Yes significa que, después de coincidir esta restricción, el módulo no comprueba más restricciones para este método.
Recomendación:
- utiliza prioridades más altas para reglas más específicas,
- utiliza 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 voluminoso,
- 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 FeesA continuación, selecciona Add New o edita un cargo existente.
Campos habituales:
Is Active— indica 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— modo de cálculo.Tax Class ID— clase de impuesto si se usa tax mode.Priority— prioridad.Stop Processing— indica si se detiene el cálculo de fees posteriores.Store Views— alcance de store view.Customer Groups— alcance de grupos de clientes.Conditions— condiciones de aplicación.
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 cálculo
cart:
- un único cargo para todo el carrito.
per_item:
- cargo multiplicado por la cantidad de productos.
per_matching_item:
- cargo aplicado solo a los productos que cumplen 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
De forma predeterminada, 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 Extra Fee. - Prueba el carrito, order, invoice y creditmemo.
El impuesto de Extra Fee debe comprobarse en cada caso 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 otros aspectos, a:
- atributos de productos,
- SKU,
- categorías,
- 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 el producto voluminoso es
pallet.
Regla:
Jeżeli produkt w koszyku ma shipping_type = palletAcciones posibles:
- mostrar el método
Dostawa paletowa, - ocultar el punto de recogida,
- añadir el fee
Transport gabarytowy.
Recomendaciones al trabajar con condiciones
- crea primero una regla sencilla y pruébala en el carrito,
- evita demasiadas condiciones en una sola regla,
- describe las reglas con nombres claros,
- para reglas importantes, utiliza atributos de producto inequívocos,
- después de modificar atributos de producto, vuelve a probar el carrito.
Diagnóstico y logging
Archivo de log dedicado:
var/log/kowal_shipping_rules.logEl debug puede activarse en:
Stores / Configuration / Sales / Shipping Methods & Rules / General DiagnosticsActiva:
Enable Debug Logging = YesRecomendaciones:
- no dejes debug logging activado de forma permanente en producción,
- activa debug solo durante el diagnóstico,
- desactiva debug después de finalizar las pruebas,
- analiza los logs junto con el carrito de prueba y la configuración de las reglas.
Funciones de emergencia
Si aparece un problema después de la implementación, puedes desactivar de forma independiente:
Todo el carrier
Stores / Configuration / Sales / Delivery Methods / Shipping Methods & Rules / Enabled = NoEfecto:
- los métodos del carrier
kowal_shippingrulesno estarán disponibles.
Solo restricciones
Stores / Configuration / Sales / Shipping Methods & Rules / Restrictions / Enable Restrictions = NoEfecto:
- los métodos no serán ocultados ni bloqueados por restricciones.
Solo Extra Fee
Stores / Configuration / Sales / Shipping Methods & Rules / Extra Fees / Enable Extra Fees = NoEfecto:
- no se aplicarán cargos adicionales.
Migración desde Amasty
Objetivo de la migración
La migración desde Amasty ayuda a trasladar la configuración de restricciones y extra fee a Kowal_ShippingRules.
El módulo Kowal no requiere Amasty para su funcionamiento normal. 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,
- la escritura 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 número de registros de las tablas Amasty y de las tablas Kowal.
Paso 2 — dry-run de la 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, deben analizarse esas reglas antes de apply.
Paso 3 — preview apply
Ejecuta:
bin/magento kowal:shippingrules:amasty:apply --limit=100Esto sigue sin guardar 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, se deben comparar los resultados para carritos de prueba.
Carritos recomendados:
- producto estándar,
- producto voluminoso,
- producto delicado,
- varios productos con diferentes condiciones,
- pedido con diferentes países de entrega,
- pedido con diferentes códigos postales,
- pedido con cupón,
- pedido con un método seleccionado incluido en Extra Fee.
Para cada carrito, comprueba:
- métodos de entrega disponibles,
- métodos ocultos,
- mensajes de error,
- extra fee aplicado,
- importes brutos/netos si se utiliza tax fee,
- order,
- invoice,
- creditmemo.
Paso 8 — decisión de 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 justo después de la migración,
- primero desactiva el funcionamiento desde la configuración,
- mantén la posibilidad de rollback,
- prepara una lista de reglas que requieren corrección manual.
Rollback después de la migración
Si se produce un problema:
- Desactiva el carrier
Kowal ShippingRules. - Desactiva
Enable Restrictions. - Desactiva
Enable Extra Fees. - Restaura la configuración anterior de Amasty.
- Comprueba el checkout.
- Conserva los informes de migración para su análisis.
Checklist posterior a la implementació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,
- store views están configuradas correctamente,
- customer groups están configurados correctamente,
- las restricciones están activadas o desactivadas de forma consciente,
- extra fees están activados o desactivados de forma consciente,
- 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 después de seleccionar el método,
- el cambio de método de envío recalcula el fee,
- order contiene los importes del fee,
- invoice contiene 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 el país, la región, el código postal, el peso y el subtotal,
- si store view es correcto,
- si customer group es correcto,
- si se cumplen las condiciones del método,
- si una restricción no oculta el método.
Extra Fee no se aplica
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 adecuada,
- si otra regla con
Stop Processingno finaliza el procesamiento antes.
El impuesto de Extra Fee no se calcula
Comprueba:
- si
Fee Tax Mode = Calculate by Fee Tax Class, - si la regla 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 una dirección de entrega,
- si el fee se ha aplicado realmente.
Buenas prácticas
- Configura primero reglas sencillas y después añade condiciones adicionales.
- Prepara un carrito de prueba para cada regla importante.
- Utiliza nombres claros para métodos, restricciones y fees.
- Evita varias reglas muy similares con la misma prioridad.
- Documenta en el nombre el motivo de creación de la restricción o fee.
- Después de modificar atributos de producto, 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 implementación y arquitectura.docs/OPIS_MARKETINGOWY.md— descripción de marketing del módulo.